Sie sind auf Seite 1von 5

Permisos

De doc.ubuntu-es
Chmod con letras
Para brindar algo de privacidad y proteccin cada archivo o directorio tiene asociados permisos
diferentes para el propietario, para el grupo y para los dems usuarios. En el caso de archivos los
permisos que pueden darse o quitarse son: (r) lectura, (w) escritura y (x) ejecucin. En el caso de
directorios los permisos son: (r) para listar los archivos, (w) para escribir, crear o borrar archivos y (x)
para acceder a archivos del directorio. [1].
Desde un administrador de archivos, puede ver los permisos de un archivo con el botn derecho del
mouse cuando el puntero est sobre el archivo, escogiendo la opcin apropiada del men que aparece.
Desde un intrprete de comandos puede emplear el comando ls con la opcin -l. Un ejemplo del
resultado de este comando se presenta a continuacin:
drwxr-xr-x 5 juan users 4096 Feb 21 06:31 textos
-rw-r----- 1 juan users 62561 May 13 18:13 ev.tar.gz
lrwxrwxrwx 1 juan users 12 Nov 12 2000 a -> /etc/hosts
La primera lnea presenta un directorio (la d al principio de la lnea lo indica), la segunda presenta un
archivo (el guin inicial lo indica) y la tercera un enlace. El nombre del directorio es textos tiene 5
archivos, fue modicado por ltima vez el 21 de Febrero del ao en curso a las 6:31AM, el propietario
es juan, el grupo es users y el tamao es 4096 bytes. En realidad el tamao cobra sentido slo en el
caso de archivos como ev.tar.gz cuyo tamao es 62561 bytes. Los tres caracteres rwx que siguen a la d
inicial indican los permisos para el propietario, los tres siguientes r-x indican los permisos para el
grupo y los tres siguientes r-x indican los permisos para el resto de usuarios. Como el orden de estos
permisos es siempre el mismo (primero lectura r, despus escritura w y despus ejecucin x), resulta
que el archivo ev.tar.gz no es ejecutable, que puede ser ledo por el propietario y el grupo pero no por
los dems usuarios, adems puede ser escrito slo por juan. Del enlace podemos destacar que se
llama a, que enlaza al archivo /etc/hosts y que su tamao y permisos reales los heredar de /etc/hosts.
Los permisos de un archivo pueden ser modicados por el propietario o por el administrador del
sistema con el comando chmod que espera dos parmetros: cambio por realizar al permiso y nombre
del archivo por cambiar. Los permisos se pueden especicar en octal o con una o ms letras para
identicar al usuario (u para el usuario, g para el grupo, o para los dems usuarios y a para todos), un
+, un - o un = y despus letras para identicar los permisos (r, w o x). Por ejemplo:
chmod og+x sube.sh
Da a los dems usuarios y al grupo permiso de ejecucin del archivo sube.sh que debe estar en el
directorio desde el cual se da el comando.
chmod a-w deu.txt
Quita el permiso de escritura en el archivo deu.txt tanto al propietario, como al grupo, como a los
dems usuarios. Este mismo resultado puede obtenerse con el comando chmod -w deu.txt. Cuando no
se especican usuarios chmod toma por defecto todos los usuarios.
chmod u=rxw,g=rx,o= textos
Cambia permisos del archivo (o directorio) textos, el usuario puede leer, ejecutar y escribir, el grupo
puede leer y ejecutar mientras que los dems usuarios no tienen permisos.
El propietario de un archivo puede ser modicado slo por el administrador del sistema con el
programa chown. Un usuario que pertenezca a varios grupos puede cambiar el grupo de uno de sus
archivos a alguno de los grupos a los que perteneza con el program chgrp, por ejemplo
chgrp estudiantes tarea1.txt
Cambiar el grupo del archivo tarea1.txt a estudiantes. Los grupos a los cuales un usuario pertenece
son mostrados por el programa groups.
Chmod con Nmeros
Uso: chmod {opciones} {nombre de archivo}
Opciones Denicin
#-- Propietario
-#- Grupo
--# Otros
1 ejecutar
2 escribir
4 leer
Propietario, Grupo y Otros est representado por tres nmeros. Para obtener el valor de las opciones
para determinar el tipo de acceso necesarios para el archivo hay que agregarlos a continuacin.
Por ejemplo si deseas que un archivo tenga estos permisos -rw-rw-rwx debes hacer lo siguiente:
Propietario Grupo Otros
Leer y escribir leer y escribir leer, escribir y ejecutar
4 +2 = 6 4 +2 = 6 4 +2 +1 = 7
Usuario @ anfitrin: / home / usuario $ chmod 667 archivo
Otro ejemplo, si quieres que un archivo tenga estos permisos: --w-r-x--x debes utilizar lo siguiente:
Propietario Grupo Otros
Escribir leer y ejecutar ejecutar
2 4 +1 = 5 1
Usuario @ anfitrin: / home / usuario $ chmod 251 archivo
Aqu hay algunos ejemplos de uso de chmod (prueba en tu sistema). Primero creamos algunos
archivos vacos:
Usuario @ anfitrin: / home / usuario $ touch archivo1 archivo2 archivo3 archivo4
Usuario @ anfitrin: / home / usuario $ ls -l
Total de 0
-rw-r--r-- 1 usuario usuario 0 Nov 19 20:13 archivo1
-rw-r--r-- 1 usuario usuario 0 Nov 19 20:13 archivo2
-rw-r--r-- 1 usuario usuario 0 Nov 19 20:13 archivo3
-rw-r--r-- 1 usuario usuario 0 Nov 19 20:13 archivo4
Aadimos permiso de ejecucin al propietario
Usuario @ anfitrin: / home / usuario $ chmod 744 archivo1
Usuario @ anfitrin: / home / usuario $ ls -l archivo1
-rwxr--r-- 1 usuario usuario 0 Nov 19 20:13 archivo1
Aadimos a Otros permiso de escritura y ejecucin
Usuario @ anfitrin: / home / usuario $ chmod 647 archivo2
Usuario @ anfitrin: / home / usuario $ ls -l archivo2
-rw-r--rwx 1 usuario usuario 0 Nov 19 20:13 archivo2
Eliminamos permiso de lectura al grupo:
Usuario @ anfitrin: / home / usuario $ chmod 604 archivo3
Usuario @ anfitrin: / home / usuario $ ls -l archivo3
-rw----r-- -- 1 usuario usuario 0 Nov 19 20:13 archivo3
Aadimos permiso de lectura, escritura y ejecucin a todo el mundo:
Usuario @ anfitrin: / home / usuario $ chmod 777 file4
Usuario @ anfitrin: / home / usuario $ ls -l file4
-rwxrwxrwx 1 usuario usuario 0 Nov 19 20:13 file4
Usuario @ anfitrin: / home / usuario $
Chmod con sudo
utilizamos sudo cuando queremos cambiar los permisos de un archivo del que no somos propietarios
(tened cuidado en esta situacin pues cualquier metedura de pata puede afectar a partes importantes
del sistema)
usuario@host:/home/usuario$ ls -l /usr/local/bin/archivo
-rw-r--r-- 1 root root 550 2005-11-13 19:45 /usr/local/bin/archivo
usuario@host:/home/ usuario$
usuario@host:/home/ usuario$ sudo chmod o+x /usr/local/bin/archivo
usuario@host:/home/ usuario$ ls -l /usr/local/bin/archivo
-rw-r--r-x 1 root root 550 2005-11-13 19:45 /usr/local/bin/archivo
usuario@host:/home/ usuario$
Cambio de permisos de forma recursiva
Sirve para cambiar permisos de mltiples archivos y directorios con un solo comando. Ten cuidado
con el modo recursivo y con el comando sudo
Chmod en modo recursivo con -R y sudo
Para cambiar todos los permisos de cada archivo o carpeta bajo un directorio especco de una vez,
usa chmod con -R
usuario@host:/home/usuario$ sudo chmod 777 -R /path/to/directorio
usuario@host:/home/usuario$ ls -l
total 3
-rwxrwxrwx 1usuario usuario 0 Nov 19 20:13 archivo1
drwxrwxrwx 2 usuario usuario 4096 Nov 19 20:13 carpeta
-rwxrwxrwx 1 usuariousuario 0 Nov 19 20:13 archivo2
Chmod recursivo usando nd, tubera y sudo
Para asignar permisos con razonable seguridad a archivos y carpetas/directorios, es corriente dar
permisos 644 a archivos y 755 a directorios, as chmod -R los asigna a ambos. Usa el comando nd y
una tubera a chmod como en el siguiente ejemplo
Para cambiar permiso slo a archivos bajo un directorio especco
usuario@host:/home/usuario$ find /path/to/directorio -type f | while read var1; do sudo chmod 644 "$var1"; done
usuario@host:/home/usuario$ ls -l
total 3
-rw-r--r-- 1 usuario usuario 0 Nov 19 20:13 archivo1
drwxrwxrwx 2 usuario usuario 4096 Nov 19 20:13 carpeta
-rw-r--r-- 1 usuario usuario 0 Nov 19 20:13 archivo2
Para cambiar slo los permisos de directorios bajo un directorio especco (incluyendo ese directorio):
usuario@host:/home/usuario$ find /path/to/directorio -type d | while read var1; do sudo chmod 755 "$var1"; done
usuario@host:/home/usuario$ ls -l
total 3
-rw-r--r-- 1 usuario usuario 0 Nov 19 20:13 archivo1
drwxr--r-- 2 usuario usuario 4096 Nov 19 20:13 carpeta
-rw-r--r-- 1 usuario usuario 0 Nov 19 20:13 archivo2
Si accidentalmente cambias los permisos y este comando no funciona porque nd no tiene permiso
para leer el directorio especco, pon sudo antes de nd
Atencin con chmod en modo recursivo
ADVERTENCIA: Aunque ya ha sido dicho, es bueno mencionar en un contexto de
terminal, lo siguiente
El borrado recursivo o los cambios de propietario de un archivo son extremadamente peligrosos. No
sers ni el primero ni el ltimo que aade un espacio de ms en un comando. Este ejemplo arruinara
tu sistema:
usuario@host:/home/usuario$ sudo chmod -R / home/john/Desktop/archivos_temporales
Nota el espacio entre el primer / y home.
Has sido advertido.
Cambiando el archivo de Propietario y de Grupo
El propietario de un archivo puede ser modicado con el comando chown. Por ejemplo, para cambiar
el propietario del archivo foobar a tux:
usuario@host:/home/usuario$ sudo chown tux foobar
Para cambiar el grupo del archivo foobar a penguin se puede usar indistintamente chgrp o chown
con diferente sintaxis:
usuarior@host:/home/usuarior$ sudo chgrp penguins foobar
usuario@host:/home/usuario$ sudo chown :penguins foobar
Finalmente, para cambiar el propietario del archivo foobar a tux y el grupo a penguins con un solo
comando, la sintaxis sera:
usuario@host:/home/usuarior$ sudo chown tux:penguins foobar
Nota que, por defecto, debes usar sudo para cambiar un archivo de propietario o
de grupo
Para ms informacin
man chmod
man chown
man chgrp
Ver tambin
Video Tutorial sobre el sistema de cheros
Fuentes
http://structio.sourceforge.net/guias/AA_Linux_colegio/
https://help.ubuntu.com/community/FilePermissions#preview
Obtenido de http://doc.ubuntu-es.org/index.php?title=Permisos&oldid=15423
Categoras: Usuarios, grupos y permisos Completar