Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Debian GNU/Linux Reference Guide
Prev Home Next

4.5.3 Permisos de acceso de archivos y directorios

Los permisos de acceso de los archivos y directorios se definen en forma separada para las siguientes tres categor�as de usuario:

  • el usuario propietario del archivo (u),

  • los usuarios del grupo al que pertenece archivo (g) y

  • todos los otros usuarios (o).

Para un archivo, cada permiso permite:

  • leer (r): examinar el contenido del archivo,

  • escribir (w): modificar el archivo y

  • ejecutar (x): ejecutar el archivo como comando.

Para un directorio, cada permiso permite:

  • leer (r): listar el contenido del directorio,

  • escribir (w): a�adir o eliminar archivos del directorio y

  • ejecutar (x): acceder a los archivos del directorio.

El permiso de ejecuci�n de un directorio permite no s�lo la lectura de sus archivos sino la posibilidad de ver los atributos de los mismos tales como tama�o y fecha y hora de modificaci�n.

Para mostrar la informaci�n referente a los permisos de archivos y directorios se utiliza el comando ls. V�ase ls(1). Cuando se invoca ls con la opci�n -l, se muestra la siguiente informaci�n :

  • el tipo de archivo (primer car�cter)

    • -: archivo normal

    • d: directorio

    • l: enlace simb�lico

    • c: nodo de dispositivo de car�cter

    • b: nodo de dispositivo de bloque

    • p: tuber�a con nombre

    • s: socket

  • los permisos de acceso del archivo (los nueve caracteres, tres para cada usuario, grupo y otros en ese orden)

  • el n�mero de enlaces duros del archivo

  • el nombre del usuario propietario del archivo

  • el nombre del grupo al que pertenece el archivo

  • el tama�o del archivo en caracteres (en bytes)

  • la fecha y hora del archivo (mtime)

  • el nombre del archivo.

Para cambiar el propietario de un archivo se utiliza chown desde la cuenta de superusuario. Para cambiar el grupo al que pertenece un archivo se utiliza chgrp desde la cuenta del propietario del archivo o desde la cuenta de superusuario. Para cambiar los permisos de acceso de un archivo o de un directorio se utiliza chmod desde la cuenta del propietario del mismo o desde la cuenta de root. Veamos la sintaxis b�sica para manipular el archivo loquesea:

     # chown nuevo_usuario loquesea
     # chgrp nuevo_grupo loquesea
     # chmod  [ugoa][+-=][rwx][,...] loquesea

V�ase chown(1), chgrp(1) y chmod(1) para m�s detalles.

Por ejemplo, para que el usuario quiensea sea propietario de un determinado directorio que sea compartido por el grupo loquesea, ejecute los siguientes comandos desde la cuenta de superusuario:

     # cd /determinada/ubicaci�n/
     # chown -R quiensea:loquesea .
     # chmod -R ug+rwX,o=rX .

Existen tres bits m�s para permisos especiales:

  • ID usuario (s o S en vez de la x del usuario),

  • ID grupo (s o S en vez de la x del grupo) y

  • bit adherente (t o T en vez de la x de otros).

Activando el ID usuario de un archivo ejecutable se permite a un usuario ejecutarlo con el ID del propietario del archivo (por ejemplo, el root). An�logamente, activando el ID grupo de un archivo ejecutable se permite a un usuario ejecutarlo con el ID del grupo del archivo (por ejemplo, el root). Puesto que estas activaciones pueden implicar riesgos en la seguridad del sistema se requiere proceder con cautela.

Activando el ID grupo de un directorio se habilita el esquema de creaci�n de archivos del tipo BSD donde todos los archivos que se crean en el directorio pertenecen al grupo del directorio.

Activando el bit adherente en un directorio, se evita que un usuario que no es propietario de un archivo lo pueda eliminar del mismo. Para asegurar el contenido de un archivo en directorios donde todo el mundo puede escribir como en /tmp no s�lo se debe desactivar el permiso de escritura del archivo sino tambi�n activar el bit adherente del directorio. Caso contrario, el archivo puede ser borrado por un usuario que tenga permiso de escritura en el directorio, al crear un nuevo archivo con el mismo nombre.

Veamos algunos ejemplos interesantes sobre permisos de archivos:

     $ ls -l /etc/passwd /etc/shadow /dev/ppp /usr/sbin/pppd
     crw-rw----    1 root     dip      108,   0 Jan 18 13:32 /dev/ppp
     -rw-r--r--    1 root     root         1051 Jan 26 08:29 /etc/passwd
     -rw-r-----    1 root     shadow        746 Jan 26 08:29 /etc/shadow
     -rwsr-xr--    1 root     dip        234504 Nov 24 03:58 /usr/sbin/pppd
     $ ls -ld /tmp /var/tmp /usr/local /var/mail /usr/src
     drwxrwxrwt    4 root     root         4096 Feb  9 16:35 /tmp
     drwxrwsr-x   10 root     staff        4096 Jan 18 13:31 /usr/local
     drwxrwsr-x    3 root     src          4096 Jan 19 08:36 /usr/src
     drwxrwsr-x    2 root     mail         4096 Feb  2 22:19 /var/mail
     drwxrwxrwt    3 root     root         4096 Jan 25 02:48 /var/tmp

Usando el comando chmod(1) existe un modo alternativo de asignar permisos a los archivos Este m�todo utiliza entre 3 y 4 n�meros escritos en octal (base 8). Cada d�gito corresponde a:

  • primer d�gito opcional: suma de ID usuario (=4), ID grupo (=2) y bit adherente (=1)

  • segundo d�gito: suma de los permisos de lectura (=4), escritura (=2) y ejecuci�n (=1) del usuario

  • tercer d�gito: �dem para grupo

  • cuarto d�gito: �dem para otros

Suena complicado pero en realidad es bastante sencillo. Si observa las primeras columnas (2-10) de la salida del comando ls -l y lee sus permisos en representaci�n binaria (base 2) (con "-" igual a "0" y "rwx" igual a "1") le resultar� familiar los permisos de archivo en representaci�n octal (base 8). [33] Por ejemplo pruebe:

     $ touch loquesea loquefuera
     $ chmod u=rw,go=r loquesea
     $ chmod 644 loquefuera
     $ ls -l loquesea loquefuera
     -rw-r--r--    1 penguin  penguin  0 Nov  3 23:30  loquesea
     -rw-r--r--    1 penguin  penguin  0 Nov  3 23:30  loquefuera

Se puede definir la m�scara de permisos predeterminada usando el comando umask que viene con el shell. V�ase builtins(7).


Debian GNU/Linux Reference Guide
Prev Home Next

 
 
  Published under the terms of the GNU General Public License Design by Interspire