La serie de comandos que se presentan aquí se usan para cambiar el dueño o el grupo propietario de un archivo o sus permisos. Vimos los diferentes permisos en Conceptos básicos de un Sistema UNIX.
La sintaxis del comando chown (CHange OWNer, Cambiar el dueño) es la siguiente:
chown [opciones] <usuario[:grupo]> <archivo|directorio> [archivo|directorio ...] |
chown nobody /shared/libro.tex cambiar el dueño del archivo /shared/libro.tex a nobody.
chown -Rc reina.musica *.mid conciertos/: atribuye todos los archivos en el directorio actual cuyos nombres terminan con .mid y todos los archivos y subdirectorios del directorio conciertos/ al usuario reina y al grupo musica, reportando sólo los archivos afectados por el comando.
El comando chgrp (CHange GRouP, Cambiar el grupo) le permite cambiar el grupo propietario de un archivo o un grupo de archivos; su sintaxis es muy similar a la del comando chown:
chgrp [opciones] <grupo> <archivo|directorio> [archivo|directorio ...] |
Las opciones de este comando son las mismas que las de chown, y se usa de manera muy similar. Por lo tanto, el comando:
chgrp disk /dev/hd* |
le atribuye al grupo disk todos los archivos en el directorio /dev/ cuyos nombres comiencen con hd.
El comando chmod (CHange MODe, Cambiar el modo) tiene una sintaxis bien particular. La sintaxis general es:
chmod [opciones] <modo> <archivo|directorio> [archivo|directorio ...] |
pero lo que lo distingue son las diferentes formas que puede tomar el cambio de modo. Este se puede especificar de dos maneras:
en octal; entonces los derechos del usuario dueño se corresponden con números de la forma <x>00, donde <x> corresponde al permiso asignado: 4 para permiso de lectura, 2 para permiso de escritura, y 1 para permiso de ejecución; similarmente, los derechos del grupo propietario toman la forma <x>0 y los permisos para los “otros” la forma <x>. Por lo tanto, todo lo que Usted necesita hacer es sumar los permisos asignados para obtener el modo correcto. Por lo tanto, los permisos rwxr-xr-- corresponden a 400+200+100 (permisos del dueño, rwx) +40+10 (permisos del grupo propietario, r-x) +4 (permisos de los otros, r--) = 754; de esta forma, los permisos se expresan en términos absolutos. Esto significa que los permisos previos se reemplazan incondicionalmente;
con expresiones: aquí los permisos se expresan con una secuencia de expresiones separadas por comas. Por lo tanto, una expresión toma la forma [categoría]<+|-|=><permisos>.
La categoría puede ser una o más de:
Si no se especifica categoría alguna, los cambios se aplicarán para todas las categorías. Un + garantiza un permiso, un - lo niega y un = lo garantiza. Finalmente, el permiso es uno o más de:
Las opciones principales son bastante similares a las de chown o chgrp:
chmod -R o-w /shared/docs: quitar recursivamente el permiso de escritura para los “otros” sobre todos los archivos y subdirectorios del directorio /shared/docs/.
chmod -R og-w,o-x privado/: quitar recursivamente el permiso de escritura para el grupo y para los otros sobre todo el directorio privado/, y quitar el permiso de ejecución para los otros.
chmod -c 644 varios/archivo* cambia los permisos de todos los archivos del directorio varios/ cuyos nombres comiencen con archivo a rw-r--r-- (es decir, permiso de lectura para todos y permiso de escritura sólo para el dueño), y reporta sólo los archivos afectados por la operación.