miércoles, 27 de agosto de 2008

Dar permisos a carpetas y archivos con chmod

Algunas veces llegamos a necesitar, acceso a carpetas o archivos que se encuentran fuera del home, y, aunque no es recomendable meterse con archivos del sistema(mas si es uno novato), aqui van las instrucciones:

para identificar los permisos podemos escribir en consola

ls -l

Los permisos que tiene cada archivo o carpeta los identificamos con las letras

r lectura
w escritura
x ejecución

para dar los permisos:

signo - (menos) para quitar permisos
signo + (mas) para agregar permisos

En consecuencia si nosotro hacemos lo siguiente:

$ sudo chmod +w hola.txt

le hemos agregado permisos de escritura al archivo hola.txt

si aplicamos el siguiente comando

$ sudo chmod -w hola.txt

le quitamos el permiso de escritura al mismo archivo.

con el comando

$ sudo chmod +xrw hola.txt

le hemos agregado todos los permisos al archivo, es decir, ejecución, lectura y escritura.

tipo de usuarios.

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 hola.txt

con ello todos pueden ejecutar el archivo hola.txt

$ sudo chmod ug+x hola.txt

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 hola.txt y para todos el resto de los usuarios.

$ sudo chmod 777 hola.txt

¿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

fuente: ubuntusur.org

8 comentarios:

wilmer oswaldo leal dijo...

Hola, muchas gracias por la información.

Tengo un pequeño problema con esto, tengo una partición ntfs a la cual no tenía acceso, despues de montarla y modificar el archivo /etc/fstab agregando esta linea: /dev/sda5 ntfs /mnt/windows auto,umask=0 0 0 logré entrar a la partición, pero solo tengo permisos de lectura, intenté utilizar el chmod para cambiar los permisos y ensayé con un archivo .txt pero me dice esto:
wilmer:/mnt/windows/WILMER/Investigación/Pajek# chmod +w Reacciones.txt
chmod: changing permissions of `Reacciones.txt': Operation not supported

¿Qué puedo hacer? uso Debian squeeze

Saludos y gracias.

ramos dijo...

Gracias por el comentario, podrias probar haciendo:

#chmod a+w Reacciones.txt

espero sea de ayuda, saludos

Daniel dijo...

Hola! logre montar la particion de windows ejecutando el comando "mount -t ntfs /dev/sda1 /media/c" pero no puedo entrar a las subcarpetas porque no me da permiso. ¿como hago para dar permiso a todas las subcarpetas y archivos?. PD muy buena pagina. saludos

ramos dijo...

Gracias por el comentario, he tenido algunos problemas parecidos que algunas subcarpetas no me deja modificar estando en lenny, ignoro cual sea el problema, pero desde que actualize mi lenny a squeeze, ese problema se solucionó

saludos.

Ovidio Álvaro dijo...

hola tengo un problema
soy nuevo en debian y queria acceder a los sources con /etc/apt/sources.list pero incluso sindo root no me dejaba
bien pues en esto que use el chmod ara darme permiso y ahora en vez de acceso denegado pone:
/etc/apt/sources.list: linea 6: deb no se encontro la orden
/etc/apt/sources.list: linea 7: deb-src: no se encontro la orden
/etc/apt/sources.list: linea 9 deb: no se encontro la orden
/etc/apt/sources.list: linea 10 deb-src: no se encontro la orden

que hago?
como añado repositorios?

Cactoos dijo...

Hola, he logrado entender el tutorial, bastante bueno, pero como sigo siendo lento aun no entiendo por que no me resulta la instalación de fglrx (drivers propietarios amd, para mi tarjeta de video) siguiendo este tutorial: http://www.esdebian.org/wiki/graficas-ati Obviamente hay que saltarse hasta el apartado del driver en cuestión.
Hago todo al pie de la letra y todo bien hasta que llego acá: $ chmod +x ati-driver-installer-....run (por eso llegué aquí)El paquete de linux lo bajo desde acá: http://support.amd.com/us/gpudownload/linux/Pages/radeon_linux.aspx?type=2.4.1&product=2.4.1.3.42&lang=English.
Cuando ejecuto el comando chmod me dice: chmod: no se puede acceder a «ati-driver-installer-....run»: No existe el fichero o el directorio y ahí quedo pegado.

Mi pregunta es: ¿donde debo ejecutar esa orden? y ¿cual es el paso previo para dar la orden correctamente?
He pensado que quizás debo dar la dirección del paquete, que está en documentos. Pero no hay caso...
Ojalá puedas ayudarme.

Cactoos dijo...
Este comentario ha sido eliminado por el autor.
Anónimo dijo...

ATENCION, ATENCION, ATENCION
Cabe aclarar, que si queremos que funcione, el cambio de atributos, debe hacerse en discos y directorios, pertenecientes a Linux.

Pase varias noches sin poder dormir, intentando infructuosamente cambiar los atributos de un archivo de descarga y no lo conseguia. Probe con el +x, con el 777 y no habia caso, incluso llegue a bajar un par de programas o scrips, no recuerdo bien, para conseguir esto y siempre chocaba con el famoso cartel "permiso denegado". Pero un dia me ilumine y copie el dichoso archivo a la carpeta descargas y "voila" el cambio de atributos se produjo y pude ejecutar el bendito script de download e instalar el dichoso programa. Luego probe con otros archivos en distintas carpetas del linux y el cambio de atributos acontecia, pero no a los que queria cambiar en discos de Windows o MAC. Asi que ya sabeis, no renegues mas y copia el o los archivos en cuestion a alguna carpeta de Linux y alli vereis que obra el milagro. Espero que les sirva mi experiencia. Con mi mas sincero sentimiento de amistad, "UnRealMy", su servidor...