El comando chmod de Linux se utiliza para cambiar los permisos de acceso de archivos y directorios. Lo que representa modo de cambio . No puede cambiar el permiso de los enlaces simbólicos. Incluso, ignora los enlaces simbólicos que se encuentran en el recorrido recursivo del directorio.
En el linux sistema de archivos, cada archivo está asociado con un propietario particular y tiene acceso de permiso para diferentes usuarios. Las clases de usuarios pueden ser:
- dueño
- miembro del grupo
- Otros (todos los demás)
Los permisos de archivos en Linux son los siguientes tres tipos:
- leer (r)
- escribir (w)
- ejecutar (x)
Breve historia de Chmod
Primero, el comando chmod está representado en AT&T UNIX versión 1 con la llamada al sistema chmod. Las listas de control de acceso se incluyeron en varios sistemas de archivos además de estos modos más comunes para mejorar la flexibilidad porque los sistemas crecieron en tipos y número de usuarios.
La versión chmod organizada en GNU coreutils fue especificada por Jim Meyering y David MacKenzie. Este comando está presente como un paquete aislado para Microsoft Windows como un elemento de la colección de puertos Win32 nativos de UnxUtils de utilidades básicas similares a GNU Unix. Además, el comando chmod se envió al sistema operativo IBM i.
Veamos cómo cambiar el permiso del archivo usando el comando chmod.
Sintaxis:
clase vs objeto java
La sintaxis básica del comando chmod es la siguiente:
chmod
Las opciones generalmente implementadas son:
El objeto de destino se ve influenciado si se menciona un enlace simbólico. Los modos de archivo relacionados directamente con enlaces simbólicos no se utilizan normalmente.
El componente principal del permiso chmod:
Por ejemplo, rwxr-x---
Todos los grupos de tres personajes especifican permisos para todas las clases:
Opciones:
El comando chmod admite las siguientes opciones de línea de comandos:
-c, --cambios: Es similar a la opción detallada, pero la diferencia es que se informa si se ha realizado un cambio.
-f, --silencio, --quieto: Se utiliza para suprimir los mensajes de error.
-v, --detallado: Se utiliza para mostrar un diagnóstico para cada archivo procesado.
--no-preservar-raíz: Se utiliza para no tratar el símbolo de barra invertida ('/'), especialmente (el valor predeterminado).
--preserve-root: Si se utiliza esta opción, no funcionará de forma recursiva en la barra invertida ('/').
--referencia=ARCHIVOR: Se utiliza para especificar el modo del RFILE o valores de MODO.
-R, --recursivo: Se utiliza para cambiar archivos y directorios de forma recursiva.
agregar a una matriz en java
--ayuda: Se utiliza para mostrar el manual de ayuda que tiene una breve descripción de las opciones de uso y soporte.
--versión: Se utiliza para mostrar la información de la versión.
Sintaxis de permiso de archivo
Si es un usuario nuevo, es posible que se confunda con los diferentes tipos de letras que se utilizan para configurar el permiso del archivo. Entonces, antes de continuar con el comando chmod, comprendamos la sintaxis de permisos de archivos.
Para establecer el permiso de un archivo o directorio, debemos especificar lo siguiente:
- Quién: Quiénes somos. (usuario)
- Qué: ¿Qué cambio vamos a realizar (como agregar o eliminar el permiso)?
- Cual: ¿Cuál de los permisos?
La declaración de permiso se representa en indicadores como u+x, u-x. Donde 'u' representa 'usuario', '+' representa agregar, '-' representa eliminar, 'x' representa ejecutable (cuál).
cadena de longitud
El valor del usuario puede ser:
u: el propietario del archivo
g: miembro del grupo
o: otros
R: todos
Los tipos de permisos pueden ser r, w y x.
Configuración y actualización de los permisos
Para establecer el permiso de un archivo, ejecute una declaración de permiso con el comando chmod. Por ejemplo, queremos establecer permisos de lectura y escritura para todos los usuarios y grupos del archivo 'Demo.txt'. Tenemos que pasar la declaración de permiso 'u=rw,go=rw Demo.txt' con el comando chmod. Para mostrar el permiso del archivo, ejecute el siguiente comando:
ls -l Demo.txt
El comando anterior mostrará el permiso de archivo actual del archivo 'Demo.txt'.
Para cambiar el permiso, ejecute el siguiente comando:
chmod u=rw,go=rw Demo.txt
Considere el siguiente resultado:
Según el resultado anterior, el permiso de acceso de 'Demo.txt' ha cambiado.
Configuración de permisos para varios archivos
Podemos establecer permisos para varios archivos a la vez usando el comando chmod. Para cambiar el permiso de archivo de varios archivos, especifique el patrón de archivo con el comando chmod. Por ejemplo, si queremos establecer permisos de lectura y escritura para todos los archivos de texto, especifique el archivo *. patrón txt con el comando chmod.
Para ver los permisos de todos los archivos de texto del directorio de trabajo actual, ejecute el siguiente comando:
ls -l *.txt
Enumerará todos los archivos de texto con su modo de permiso. Considere el siguiente resultado:
Según el resultado anterior, muchos archivos solo tienen permiso de lectura para otros usuarios.
Para configurar el permiso de lectura y escritura para otros usuarios, ejecute el siguiente comando:
chmod o+w *.txt
Establecerá el permiso de lectura y escritura para otros usuarios de los archivos de texto. Considere el siguiente resultado:
Taquigrafía numérica
Podemos usar valores numéricos en lugar de letras para especificar los permisos. Se utiliza un valor de tres dígitos para especificar el permiso. El dígito más a la izquierda representa al propietario (u) y el dígito del medio representa a los miembros del grupo (g). El dígito más a la derecha representa los demás (o).
La siguiente tabla representa los dígitos y sus permisos:
java comparable
Dígitos | Permisos |
---|---|
000 | Sin autorización |
001 | Permiso de ejecución |
010 | permiso de escritura |
011 | Permisos de escritura y ejecución. |
100 | Permiso de lectura |
101 | Leer y ejecutar permisos |
110 | Permisos de lectura y escritura |
111 | Permisos de lectura, escritura y ejecución. |
Modos simbólicos
Además, el comando chmod acepta la notación simbólica más detallada, que permite cambiar modos específicos. El modo simbólico consta de tres elementos, que se combinan para formar una única cadena de texto:
$ chmod [references] [operator] [modes] file...
El programa chmod aplica un operador para definir cómo se deben organizar los modos de archivo. Los siguientes operadores están aprobados:
Operador | Descripción | |
---|---|---|
+ | Agrega lo descrito a las clases descritas. | |
- | Elimina el modo descrito de las clases descritas. | |
= | Representa que los modos descritos deben crearse los mismos modos para las clases descritas. |
Los modos representan qué permisos se eliminarán u otorgarán de las clases descritas. Existen principalmente tres modos comunes relacionados con los permisos comunes:
Nombre | Modo | Descripción |
---|---|---|
leer | r | Lee un archivo o enumera el contenido de un directorio. |
escribir | En | Escribe en un directorio o archivo. |
ejecutar | X | Recurre a un árbol de directorios o ejecuta un archivo. |
ejecución especial | X | No es un permiso, sino que se puede utilizar en lugar de x. Utiliza los permisos de ejecución para directorios a pesar de sus permisos actuales y utiliza los permisos de ejecución para un archivo que tiene al menos un bit de permisos de ejecución establecido. Es útil si se usa con el operador '+' y sin configurar el permiso de ejecución, lo que sucedería si solo usáramos chmod -R a+rx ., mientras que podemos implementar chmod -R a+rx . con x más bien. |
Se pueden describir múltiples modificaciones aislando múltiples modos simbólicos junto con comas. El comando chmod inspeccionará el máscara si no se especifica un usuario.
Modos especiales
Además, el comando chmod puede cambiar los modos especiales y permisos adicionales de un directorio o archivo. Los modos simbólicos aplican 's' para indicar los modos setgid y setuid y 't' para indicar el modo fijo. Un modo sólo se utiliza para las clases correctas, independientemente de si se mencionan otras clases o no.
Casi todos los sistemas operativos admiten numéricamente la especificación del modo especial, específicamente en octal, pero algunos no lo hacen. A estos sistemas sólo se les pueden aplicar los modos simbólicos.
Algunos ejemplos de la línea de comando:
Dominio | Descripción |
---|---|
chmod a+r publicComments.txt | Agregará el permiso de lectura para cada clase (es decir, grupo, propietario y otros). |
chmod a-x comentarios públicos.txt | Eliminará el permiso de ejecución para cada clase. |
chmod a+rx visor.sh | Agregará los permisos de ejecución y lectura para cada clase. |
chmod u=rw, g=r, o=planinterno.txt | Establecerá los permisos de escritura y lectura para el usuario, la lectura para el grupo y rechazará el acceso para otros. |
chmod -R u+w, go-w documentos | Incluirá el permiso de escritura en los documentos del directorio y cada uno de sus contenidos para el propietario y eliminará el permiso de escritura para otros y el grupo. |
chmod y = rw acuerdos de grupo.txt | Establecerá los permisos de escritura y lectura para el grupo y el usuario. |
chmod 664 global.txt | Establecerá los permisos de escritura y lectura para el grupo y el usuario y otorgará permiso de lectura a otros. |
chmod 744 Show_myCV.sh | Establecerá los permisos de ejecución, escritura y lectura para el usuario y otorgará permiso de lectura al grupo y a otros. |