Chmod, asignando permisos en GNU/Linux
Posted by K|Ke on December 14th, 2007
GNU/Linux gestiona el acceso a archivos y carpetas basándose en los permisos que tenga cada uno de ellos. Estos permisos básicamente son tres: lectura, escritura y
ejecución.
Para poder revisar cuales son los permisos asignados a un determinado archivo o carpeta, también a grupos de archivos y carpetas, en consola podemos utilizar el comando ls -l, como ejemplo:
kike@albedo039:~$ ls -l
total 9098472
drwx—— 2 kike kike 4096 2007-11-09 21:47 amsn_received
-rw-r—– 1 kike kike 4507923 2007-12-12 01:53 solo por ti.mp3
drwxr-xr-x 2 kike kike 4096 2007-12-14 00:50 Desktop
drwxr-xr-x 4 kike kike 4096 2007-12-07 19:30 Documentos
drwxr-xr-x 4 kike kike 4096 2007-12-11 17:40 dvd
-rw-r–r– 1 kike kike 4583860224 2007-12-11 17:59 incendio_en_la_torre.iso
-rw-r—– 1 kike kike 7136164 2007-12-11 15:24 index.php
Los permisos que tiene cada archivo o carpeta los identificamos con las letras r lectura, w escritura y x ejecución. En el ejemplo podemos visualizar estos permisos.
Ahora veamos los modos de asignar los respectivos permisos, existen varios métodos para hacerlo, veremos la forma más habitual de hacerlo. Para ello utilizamos el comando chmod, el cual acepta tres modificadores para administrar los permisos definidos por estos signos:
signo – (menos) para quitar permisos, y
signo + (mas) para agregar permisos.
En consecuencia si nosotro hacemos lo siguiente:
$ sudo chmod +w solo_para_ti.mp3
le hemos agregado permisos de escritura al archivo solo_para_ti.mp3
si aplicamos el siguiente comando
$ sudo chmod -w solo_para_ti.mp3
le quitamos el permiso de escritura al mismo archivo.
con el comando
$ sudo chmod +xrw solo_para_ti.mp3
le hemos agregado todos los permisos al archivo, es decir, ejecución, lectura y escritura.
Este tipo de administración de los permisos, se han realizado en un modo general, es decir, no se ha especificado a quien se le han otorgado o quitado permisos. También se puede realizar una asignación al usuario dueño del archivo, grupo dueño del archivo, otros usuarios y para todos.
u: usuario dueño del archivo
g: grupo o dueño del archivo
o: otros usuarios
a: para todos
veamos ejemplos:
$ sudo chmod a+x solo_para_ti.mp3
con ello todos pueden ejecutar el archivo solo_para_ti.mp3
$ sudo chmod u+x solo_para_ti.mp3
solo el usuario dueño del archivo puede ejecutarlo
$ sudo chmod g+xrw solo_para_ti.mp3
el grupo dueño del archivo podrá ejecutar, leer y escribir el archivo.
$ sudo chmod ug+x solo_para_ti.mp3
el dueño y el grupo dueño podrá ejecutar el archivo.
USANDO EL METODO OCTAL
La otra forma bastante utilizada para administrar los permisos de archivos y carpetas en GNU/Linux, es el método octal.
Este método utiliza los números octales del siguiente modo:
000: ningún permiso
001: ejecución para el dueño del archivo
002: escritura para el dueño del archivo
004: lectura para el dueño del archivo
010: ejecución para el grupo dueño del archivo
020: escritura para el grupo dueño del archivo
040: lectura para el grupo dueño del archivo
100: ejecución para resto de usuarios
200: escritura para resto de usuarios
400: lectura para resto de usuarios
Bien, quizás es un poco complicado entender este método, pero no, realmente es fácil. Para asignar los permisos estos se suman conforme a la tabla, obteniéndose un solo número que definirá los permisos que tiene nuestro archivo o carpeta, por ejemplo:
Asignemos todos los permisos al archivo solo_para_ti.mp3 y para todos el resto de los usuarios.
$ sudo chmod 777 solo_para_ti.mp3
¿cómo es eso?
claro veamos dijimos que ejecución para el resto era 100, escritura para el resto era 200 y lectura para el resto era 400, por lo tanto.
ordenemos estos permisos
100
200
400
700 es la suma que queda para el resto
010
020
040
070 es la suma que queda para el grupo
001
002
004
007 es la suma que queda para el dueño del archivo
Entonces si digitamos el comando chmod 777 estamos asignando todos los permisos para todos los usuarios.
Si hacemos lo siguiente:
$ sudo chmod 660 solo_para_ti.mp3
El archivo tendrá para el dueño del archivo permisos de escritura y lectura, igual para el grupo y para el resto ningún permiso.
Entonces dentro de los tres dígitos el primero corresponde al dueño o propietario del archivo, el segundo dígito para el grupo y el último dígito para el resto de los usuarios.
777 usuario
777 grupo
777 resto de usuarios
Ok. pero está al revés? si, pero es solamente por el orden de los números octales, pero de acuerdo a la tabla anterior sabemos que el primer dígito es el usuario dueño, el segundo el grupo dueño del archivo y el último para el resto de los usuarios.
Entradas relacionadas:










January 12th, 2008 a 1:47 pm
[...] un tiempo que escribí unas entradas relacionadas con Usuarios y grupos en Linux y Chmod, asignando permisos en GNU/Linux, pues bien ahora quiero incorporar este artículo de mi gran amigo Fabián Pérez publicado en My [...]
June 15th, 2009 a 12:50 am
[...] un tiempo que escribí unas entradas relacionadas con Usuarios y grupos en Linux y Chmod, asignando permisos en GNU/Linux, pues bien ahora quiero incorporar este artículo de mi gran amigo Fabián Pérez publicado en My [...]
June 15th, 2009 a 12:58 am
[...] Chmod, asignando permisos en GNU/Linux [...]
August 12th, 2009 a 9:07 pm
en el caso q tenga un servidor web hay que pagarle a 50 personas para q asignen los permisos archivo x archivo?? o es q algun inteligente de los desarrolladores de linux habra inventado un metodo mas facil??
es algo q me gustaria saber… hace poco estoy con linux y realmente no entiendo porq es tan inaccesible
lo q en windows se hace en 5 click aca tengo q estar 1 hora escribiendo t leyendome todo encima muchas veces fallan los metodos
perdon pero tengo q preguntar porq tal vez yo todavia no encontre la forma rapida
August 12th, 2009 a 9:24 pm
Hola Diego, perdón pero no entendí la pregunta, si pudieras ser más específico en lo que necesitas.
Saludos.
August 14th, 2009 a 1:59 pm
Hola K|Ke /*Gracias x la respuesta*/
Concretamente el tema es q no puedo acceder a una pagina en mi pc por los permisos, y mucho menos instalar un wordpress o joomla
ya q me niega el acceso y le doy todos los permisos posibles y consigo entrar pero no se puede instalar un wordpress, dice q es imposible escribir
el archivo wp-config.
paso a lo siguiente… lo completo manualmente con nombre de BD y lo demas vuelbo a intentar y ahora sorpresa… sale otro error pero ahora en
el archivo wp-seting y asi sucesivamente.
no se como se pueden desbloquear esos permisos?? para poder tener libertad ya q mi propia pc me niega accesos.
/*Aver si ahora se entiende*/ Hay una manera de dar permisos generales?? y no archivo por archivo??
Gracias…
August 14th, 2009 a 6:17 pm
Diego, cuando tu instalas wordpress en tu servidor, el instalador te va a ir pidiendo los permisos apropiados para cada archivo que deba manipular el instalador, esto es así y no va a ser de ningún modo diferente, debes ir dando permisos de escritura en los archivos necesarios. Ahora claro que debes tener paciencia, esto no es Windows y jamás será Windows, por lo que la seguridad es primordial ya que GNU/Linux es un sistema operativo diseñado preferencialmente para ser usado en redes.
Paciencia y continúa con lo que te va pidiendo el instalador de WordPress y te darás cuenta que no tiene nada de complicado.
Saludos.
August 14th, 2009 a 7:14 pm
ok k|ke
tal vez ese sea el problema seguramente yo solo descomprimo el wordpress en la carpeta correspondiente directamente
no por la terminal. gracias
espero tener paciensia x ahora como sistema secundario hasta q lo entienda pero me resulta vastante interesante a pesar de las dificultades,
aunq no dejp de pensar q es un sistema inaccesible para el comun de la gente ya q no todos son programadores ni conocen los lenguages de codigos jeje como yo… podrian inventar un boton que ejecute cada comando ese si seria el final de microsoft creo.
gracias de nuevo