[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]

[Hilos de Discusión] [Fecha] [Tema] [Autor]

Re: [Ayuda] pregunta



El jue, 07-07-2005 a las 12:26 -0500, Jaime Ortega escribió:
> Hola Linuxeros, muchas gracias por todas las persona
> que contestaron acerca del dominio, la verdad todavia
> estamos viendo que hacemos con el dominio, ya despues
> les explicare, por el momento tengo otra duda:
> 
> cuando a una carpeta se le ponen los permisos, se le
> ponen como sigue:
> 
> 666 que por ejemplo significa rx-rx-rx para todos los
> usuarios, mi pregunta es :
> 
> que significa esto:  1666 o 0666?
> 


--------
Asunto: permisos.
 
  
Por lo menos lo que yo hago es esto:
  
r  w  x  D
0  0  0  0
0  0  1  1
0  1  0  2
0  1  1  3
1  0  0  4
1  0  1  5
1  1  0  6
1  1  1  7
  
asi que el permiso 650 es
  
rw- para dueño
r-x para grupo
--- para todo mundo
  
 

Permisos
-----


Oh cielos.. se fijan lo que pasa cuando uno usa wizardcillos que hacen las
cosas automagicamente..? Para que vean que no todos los wizardcillos son
graficos y con botones de "Siguiente" y "Terminar", ahi esta el ejemplo de
la capacidad de trabajar con simbolos del chmod.. asi que aqui va una
pequenia contribucion sobre los permisos de archivos en *nix:
  
En un sistema de archivos tipo Unix, todos los archivos tienen
relacionados con ellos 12 bits de permisos, separados en 4 grupos:
  
  xxx      xxx      xxx      xxx
Especial  Duenio   Grupo    Otros
  
Los bits menos significativos (duenio, grupo, otros) son los que todo el
mundo conoce -bueno, mas o menos- y representan (en cada grupo de tres)
permisos de
  
lectura (r), escritura (w) y ejecucion (x) ==> Para archivos normales
lectura (r), escritura (w) y exploracion (x) ==> Para directorios
Lectura y escritura deben ser claros para todo el mundo. Ejecucion es la
forma en que se le indica al sistema operativo que este archivo se debe
tratar como un programa (de hecho, se le indica al shell) y que aquellos
que tienen permiso de ejecucion (usuarios, esto es) pueden utilizarlo.
  
El bit "x" para los directorios significa eXploracion, o sea que el
usuario con ese permiso puede entrar a ese directorio. Un directorio puede
no tener permisos de lectura ni de escritura para un usuario o grupo pero
si de exploracion, lo cual permite ciertas situaciones interesantes, como
que aunque no puedas ver el listado de archivos del directorio (no tienes
permiso de lectura) si puedes entrar a ese directorio y ejecutar o leer un
archivo que este ahi, siempre y cuando tengas permiso de exploracion.
  
Una nota sobre el significado de "duenio, grupo, otros": todo archivo en
el sistema debe pertenecer a algun usuario y a algun grupo. Los grupos de
bits de duenio especifican que puede hacer el duenio del archivo con el, y
lo mismo aplica para los de grupo respecto de lo que pueden hacer los
usuarios en ese grupo con el. Los permisos de "Otros" dicen lo que pueden
hacer aquellos usuarios que no son ni el duenio ni pertenecen al grupo del
archivo.
  
Ahora, con los bits de permisos especiales. Son los 3 bits mas
significativos (los que estan mas a la izquierda) de los 12 bits de
permisos, y su significado es:
  
Establecer ID de usuario, Establecer ID de grupo y Salvar imagen
(Archivos normales)
  
Para directorios, el bit de "Salvar imagen" actua distinto: un directorio
con ese bit establecido permite que solo el usuario que creo un archivo
pueda borrarlo (asumiendo que tenia permiso de crearlo en primer lugar,
desde luego).
  
Establecer ID de usuario (Set User ID o Set UID) tiene efecto solo en
archivos con el bit de ejecucion establecido. Significa que al ejecutarse
el programa el proceso generado tendra los mismos privilegios que el
duenio del archivo, aun cuando sea ejecutado por alguien mas. Varios
programas usan esta tecnica en su sistema, pueden encontrarlos con este
comando:
  
find / -perm +1000 -exec ls -l {} \;
  
Establecer ID de grupo (Set Group ID o Set GID) tiene el mismo efecto del
SUID, pero aplicable al grupo al que pertenece el archivo en lugar del
duenio.
  
Finalmente, el archivo de "Salvar imagen" (Save text-image o Sticky
bit==>pegajoso). En un archivo ejecutable significa que el sistema va a
guardar en un buffer en memoria el codigo ejecutable del programa la
primera vez que lo ejecutas, de forma que la siguiente vez que lo ejecutes
no tenga que ser leido nuevamente del disco. Esto es bueno para comandos
ejecutados frecuentemente como "ls". Sin embargo, esta es una
especificaicion antigua y no todos los sistemas lo implementan (no estoy
seguro de que Linux lo haga, por ejemplo).
  
En directorios, el "Sticky bit" ya explique lo que hace. Si alguien puede
excribir en un directorio, nadie mas puede borrar sus archivos, aun si
esas otras personas tienen permiso de escritura para el directorio. Un
ejemplo esta en el directorio /tmp de muchas distribuciones: ls -l /tmp
AHORA, todo comenzo porque muchos de ustede estan acostumbrados a trabajar
simbolicamente con el chmod, pero eso los llevo a mucha confusion. Mi
sugerencia es entonces que en lugar de hacerlo simbolicamente, le digan al
chmod exactamente como quieren los permisos ahora que ya saben de donde
salen. Recuerden que son 12 bits, si los dividen en 4 grupos de 3 bits
entonces pueden representarlos con 4 digitos en octal. Ejemplos:
  
Lectura/escritura para duenio, solo lectura para grupo y otros:
  
-rw-r--r--   1 izto     users           0 Aug 18 14:18 archivo
 110100100 --> 110 100 100 --> 644 --> chmod 644 archivo
  
Lec/esc/ejecucion para duenio y grupo, nada para otros:
  
-rwxrwx---   1 izto     users           0 Aug 18 14:18 archivo
 111111000 --> 111 111 000 --> 770 --> chmod 770 archivo
  
Igual que el anterior, pero con SUID:
  
-rwsrwx---   1 izto     users           0 Aug 18 14:18 archivo
 111111000 (con bits especiales 100) --> 100 111 111 000 -> 4770->chmod
4770
  
Ahora con SGID:
  
Ahora con SGID:
-rwsrws---   1 izto     users           0 Aug 18 14:18 archivo*
 111111000 (con bits especiales 110) --> 110 111 111 000 -> 6770->chmod
6770

Espero que esto haya aclarado para alguien como estan organizados y como
se manipulan los bits de permisos. Si no, su libro favorito de Unix se los
explicara con toda claridad ;-)
-----





[Hilos de Discusión] [Fecha] [Tema] [Autor]