La serie de comandos que se presentan aquí se usan para cambiar el dueño o el grupo dueño 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 +
activa un permiso, un
-
lo desactiva y un =
lo
deja igual a como se lo pasó en la línea de
comandos. 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.