Propiedad del archivo
Cada archivo es propiedad de un usuario específico (o UID) y un grupo específico (o GID). El comando chown se puede usar para cambiar solo el usuario o el usuario y el grupo de un archivo. Aquí hay un ejemplo de cómo cambiar el propietario del archivo "archivo1" a "usuario" y su "usuario" a usuarios. Tenga en cuenta que el uso del comando ls -l es solo para mostrar el cambio y no es un paso necesario para cambiar la propiedad del archivo:
# ls -l total 8 -rw-r--r--. 1 root root 30 Feb 16 04:47 file1 -rw-r--r--. 1 root root 130 Feb 16 04:47 file2
# chown user:user file1
# ls -l total 8 -rw-r--r--. 1 user user 30 Feb 16 04:47 file1 -rw-r--r--. 1 root root 130 Feb 16 04:47 file2
El formato básico para el comando chown es el siguiente:
# chown user.group filename
Se pueden usar dos puntos (:) en lugar del carácter separador de punto (.).
# chown user:group filename
Además, se puede omitir el nombre de usuario o de grupo. Si se omite el nombre de usuario (pero el carácter separador está presente), el comando chown se comporta como chgrp comando, y solo se cambia la propiedad del grupo. Si se omite el nombre del grupo (pero el carácter separador está presente, entonces el grupo se establecerá en el grupo de inicio de sesión del usuario especificado. Si se omiten tanto el nombre del grupo como el carácter separador, solo se cambia el nombre de usuario.
Por ejemplo, para cambiar solo el propietario, podría ejecutar lo siguiente:
# chown user filename
Un comando alternativo para cambiar solo el grupo de un archivo es el comando chgrp. Por ejemplo:
# chgrp group filename
Los usuarios normales suelen utilizar el comando chgrp para cambiar la propiedad del grupo de sus archivos. El comando chown normalmente solo lo usa el usuario root.
Propiedad de grupo predeterminada
Cada usuario puede ser miembro de muchos grupos (enumerados en el archivo /etc/group bajo varios grupos). Solo un grupo será el grupo principal de un usuario (enumerado en la entrada del usuario en /etc/password). Cuando un usuario crea un archivo, de forma predeterminada, el archivo será propiedad del grupo principal del usuario. Si quieren que el archivo sea propiedad de uno de sus otros grupos, deben usar el comando chgrp para modificar la membresía del grupo.
Una forma más conveniente de lograr esto es iniciar sesión temporalmente en otro grupo, haciendo que ese grupo sea su grupo principal sustituto. De esta manera, cualquier archivo nuevo que cree será automáticamente propiedad del grupo deseado y no necesitará cambiar la membresía del grupo manualmente. Examine el siguiente ejemplo y observe el uso de newgrp comando.
$ id uid=1001(user) gid=1001(user) groups=1001(user),10(wheel)
$ touch file1 $ ls -l file1 -rw-rw-r--. 1 user user 0 Feb 16 14:17 file1
$ newgrp wheel $ touch file2 $ ls -l file2 -rw-r--r--. 1 user wheel 0 Feb 16 14:22 file2
Permisos de archivos y directorios
A continuación se muestra la salida de muestra de ls -l; puede ver desde el primer carácter de cada línea que foo y bar son directorios (indicados por la d) y que meta es un archivo normal (indicado por -).
$ ls -l drwxr-xr-x 2 user user 6 Jan 7 2015 Desktop -rw-rw-r-- 1 user user 0 Feb 16 14:17 file1 -rw-r--r-- 1 user wheel 0 Feb 16 14:22 file2
Los siguientes nueve caracteres muestran los permisos del archivo para usuarios, grupos y otros (o todos los demás) como se muestra a continuación, con paréntesis agregados para mayor claridad:
-(rw-) (r--) (r--) 1 user wheel 0 Feb 16 14:22 file2
Ahora el propietario tiene permisos de lectura y escritura (rw-), el grupo y todos los demás solo tienen permisos de lectura (r–). Esto se denomina representación simbólica porque se utilizan letras como r, w y x para indicar permisos. Los permisos también se pueden representar numéricamente:r =4; w =2; x =1
Agregue cada sección para que los permisos del archivo meta (del ejemplo anterior) sean 664. Aquí hay otra forma de ver cómo llegamos a ese número:
-(rw-) (rw-) (r--) -(42-) (42-) (4--) 6 6 4
Agregar los números en cada sección da como resultado permisos de 664.
Cambio de permisos de archivo
El chmod El comando se utiliza para modificar los permisos de un archivo. Puede usarse para agregar o quitar permisos simbólicamente. Por ejemplo, para agregar permisos de ejecución para el propietario de un archivo, ejecutaría:
$ chmod u+x file_name
O bien, para agregar permisos de lectura y escritura para el grupo propietario del archivo, ejecutaría:
$ chmod g+rw file_name
En lugar de agregar permisos, la sintaxis simbólica de chmod también se puede usar para restar o establecer un valor absoluto como se muestra en estos ejemplos:
$ chmod o-w file_name
$ chmod u=rwx,g=rx,o= file_name
El comando chmod también puede establecer permisos explícitamente mediante una representación numérica. Por ejemplo, para establecer permisos en un archivo para rwxrwxr–, ejecutaría:
$ chmod 774 file_name