miércoles, diciembre 25, 2013

Permisos por consola – CHMOD (Ubuntu)



Aqui coloco al famoso "ugo" u (user) g  (group) y o (others).



A Quien.....
LetrasSignificado
uEl usuario propietario de los archivos.
g El grupo al que pertenece el archivo.
o Los otros usuarios
aall Todo lo anterior (una abreviación para ugo)

(letras)le damos permisos de.....
 r  Permission to read the file.
 w  Permission to write (or delete) the file.
 x  Permission to execute the file, or, in the case of a directory, search it.

(o numeros)le damos permisos de.....

4 = lectura
2 = escritura
1 = ejecución

6 (4+2) = lectura y escritura
5 (4+1) = lectura y ejecución
3 (2+1) = escritura y ejecución
7 (4+2+1) = lectura, escritura y ejecución

EMPECEMOS

Hay dos opciones:  la numérica y la alfabética:

1.- chmod 777 NombreCarpeta
2.- chmod rwx NombreCarpeta

Si es una carpeta de root:
1.- sudo chmod 777 NombreCarpeta
2.- sudo chmod rwx NombreCarpeta

Si queremos que los ficheros y carpetas contenidos en NombreCarpeta, también reciban estos cambios (de manera recursiva), escribimos:

1.- chmod -R 777 Prueba
2.- chmod -R rwx Prueba

Ejemplos:
  • Queremos que el usuario tenga rwx, el grupo rw y los demás r, en la carpeta NombreCarpeta:
    • chmod 764 NombreCarpeta
    • chmod u=rwx,g=rw,o=r NombreCarpeta
 u es igual a usuario (user) g a grupo (group) y o a otros (others).
Aquí tambien se puede aplicar -R
 
  • Queremos que el usuario tenga rw, el grupo r y los demás r, en la carpeta NombreCarpeta:
    • chmod 644 NombreCarpeta
    • chmod u=rw go=rw NombreCarpeta
También funciona -R 

Para quitar los permisos, es igual solo tienes que reasignar los nuevos permisos.

EXTRA

Encontrar directorios (-type d) en el directorio actual (.) y darles acceso 755
  • find . -type d -exec chmod 755 {} \;

Encontrar archivos (-type f) en el directorio actual (.) y darles acceso 644
  • find . -type f -exec chmod 644 {} \;

Encontrar archivos (-type f) html (-name '*.htm*') en el subdirectorio web (./web) y darles acceso 644
  • find ./web -type f -name '*.htm*' -exec chmod 644 {} \;

Encontrar archivos/directorios con permiso 777 (-perm 777) en el # directorio actual (.) y darles acceso 755. La opción -print entrega más información sobre el resultado
  • find . -perm 777 -exec chmod 755 {} \; -print
 

No hay comentarios.: