You could put your verification ID in a comment Or, in its own meta tag Or, as one of your keywords Your content is here. The verification ID will NOT be detected if you put it here. Linux para Noveles: Comandos para cambiar permisos a fichero y directorios desde consola

Mi blog ha sido movido!

Seras automaticamente redirigido a la nueva direccion. Si esto no ocurre, visita
http:http://www.linuxnoveles.com/
Y actualiza tus Favoritos.

domingo, 30 de octubre de 2011

Comandos para cambiar permisos a fichero y directorios desde consola


Para todos aquellos que instalaís servidores web, ftp y demas en vuestro ordenador, escribo este pequeño tutorial sobre como cambiar los permisos a las carpetas ó ficheros, desde consola.

La mayor parte de las veces se podrá hacer desde el entorno grafico, nautilus ó dolphin, botón derecho propiedades.



Linux, como cualquier sistema Unix, es multiusuario, por lo que, los permisos de los archivos están orientados a dicho sistema. Los permisos de cualquier archivo tienen tres partes: permisos del propietario, permisos del grupo y permisos del resto.

Así, se ve que un archivo pertenece a un determinado propietario y a un determinado grupo y dependiendo de los permisos que tenga asociado dicho archivo, se podrá tener acceso a él o no.

Los permisos son de lectura (r), escritura (w) y ejecución (x). Estos se definen mediante letras. 
Con el signo + añadimos un permiso y con el signo - se lo quitamos. Además, los permisos pueden ser generales o no, es decir, si se pone +x sería permiso de ejecución a todos, sin embargo, si se pone sólo el propietario podría ejecutarlo. De este modo, se tiene: para propietario, para grupo y para el resto.

-rwxr-x---    skina     users 4348 Nov 24 16:19 prueba

r :significa permiso para leer
w :significa permiso para escribir
x :significa permiso para ejecutar

Estas letras están agrupadas en tres grupos con tres posiciones cada uno, más una primera posición que nos dice de que clase de archivo se trata (los mas normales (d) directorios, o (-) archivos de datos). En nuestro ejemplo la primera posición es (-) con lo cual el archivo prueba, es un archivo de datos (binario/ejecutable en este ejemplo).

El primer grupo de tres (rwx en nuestro caso) nos dice que clase de permisos tiene el dueño del fichero (u)(user/owner).

El segundo grupo de tres (r-x en nuestro caso) nos dice que clase de permisos tiene el grupo del fichero (g)(group).

El último grupo de tres (--- en nuestro caso) nos dice que clase de permisos tienen todos los demás usuarios del sistema sobre este fichero (o)(others).

La segunda columna skina, nos dice quien es el dueño del fichero,(skina en este caso).

La tercera columna users, nos dice cual es el grupo del fichero (users en este caso, usuario).

La cuarta columna 4348, nos dice el tamaño del fichero.
La quinta columna Nov 24 16:19, nos dice cual es la fecha y hora de la última modificación.
La sexta columna prueba, nos dice cual es el nombre del fichero/directorio.

Asi pues, el fichero prueba de nuestro ejemplo tiene los siguientes permisos:

skina puede leer, escribir/modificar, y ejecutar el fichero test.
Los usuarios pertenecientes al grupo users puede leer, y ejecutar pero no escribir/modificar. Los demás usuarios no pueden hacer nada, ni leerlo, ni escribir/modificar, ni ejecutarlo.

Notación simbólica:   [augo][+-=][rwx][ts]
Los permisos corresponden con:

u usuario, g grupo, o otros y a todos
+ Añade el permiso si no existe,- quita el permiso si existe y = fuerza exactamente ese permiso.
r permiso de lectura, w permiso de escrituta y x permiso de ejecución / búsqueda.
t sticky bit y s setuid o setgid, en función de como vaya combinado.

El comando para modificar los permisos es chmod y tiene la siguiente sintaxis:
chmod  permisos   archivos

Por ejemplo se desea que todos las personas puedan ver escribir sobre el archivo creditos.tex, entonces:

chmod a+w creditos.tex

o su equivalente en números

chmod 666 creditos.tex

chmod ugo+rwx prueba (da permisos rwx a todos, user,group,others)
chmod ugo-x prueba (quita permiso x (ejecucion) a todos, user,group,others)
chmod o-rwx prueba (quita permisos rwx a others)
chmod u=rwx,g=rx prueba (da permisos rwx a user, rx a group y ninguno a others)


Notación octal. Estos números se suman para poner los permisos adecuados.
Permiso Descripción
0100 Ejecución para el propietario
0200 Escritura para el propietario
0400 Lectura para el propietario
0010 Ejecución / búsqueda para el grupo
0020 Escritura para el grupo
0040 Lectura para el grupo
0001 Ejecución / búsqueda para otros
0002 Escritura para otros
0004 Ejecución / búsqueda para otros
1000 Sticky bit
2000 setgid
4000 setuid

0  =  ---  =  sin acceso
1  =  --x  =  ejecución
2  =  -w-  =  escritura
3  =  -wx  =  escritura y ejecución
4  =  r--  =  lectura
5  =  r-x  =  lectura y ejecución
6  =  rw-  =  lectura y escritura
7  =  rwx  =  lectura, escritura y ejecución

Se van a usar las dos notaciones. Al añadir o quitar permisos sólo funciona con los modos simbólicos.

Asi, un chmod file 777 significa que owner, group y others tienen permiso de lectura, escritura y ejecución. chmod 766 significa que el owner tiene permiso de lectura, escritura y ejecución, y el group y others permiso de lectura y escritura. Chmod 744 significa que el owner tiene permisos de lectura, escritura y ejecución, y group y others unicamente permisos de lectura.

Como ves, son tres digitos, de izquierda a derecha designan los permisos del owner, group y others.

Dar permiso de ejecución y lectura a un fichero, para todo el mundo, y de lectura, escritura y ejecución para el propietario:
chmod 755 fichero
chmod a=rx,u=rwx fichero

Añadir permisos de ejecución para otros a un fichero:
chmod o+x fichero

Quitar todos los permisos de ejecuci´n a un fichero:
chmod -x fichero

Dar a un fichero permisos de lectura para todos y escritura solo para el propietario:
chmod 644 fichero
chmod a=r,u=rw fichero

Quitar todos los permisos a un fichero:
chmod 0 fichero
chmod a= fichero

Cambiando propietarios y grupos: chown y chgrp

Para cambiar el usuario y el grupo se usan chown y chgrp. Estas órdenes sólo la pueden ejecutar el usuario root.
chown [-R] usuario fichero(s)
chgrp [-R] grupo ficheros(s)
La opción -R indica que se procese de manera recursiva los directorios que se le indiquen.

Ejemplos

Cambiar el propietario del directorio y de todo el contenido /home/deploy al usuario jboss y al grupo users:
chown -R jboss /home/deploy
chgrp -R users /home/deploy

Cambiar al usuario root el fichero /bin/ls
chown root /bin/ls

Ten encuenta asimismo que puedes usar comodines:

chmod 644 *.html etc

No hay comentarios:

Publicar un comentario

Comentario inicial

Alguna vez te has cansado de windows, pero no te atreves a dejarlo, esta es tu pagina. Te enseñaremos pequeños trucos y guías para que puedas hacerlo fácilmente. Ubuntu, fedora, debian, linux mint, unity, gnome, kde, kubuntu

Esta web es sin animo de lucro, solo para facilitar el aprendizaje a los noveles. Toda la información aquí recopilada se obtiene libremente en Internet.