martes, 6 de octubre de 2009

Permisos en Linux

Los permisos sobre un dispositivo, directorio,archivo, en GNU/Linux, se otorgan en teniendo en cuenta el siguiente orden o jerarquía

1º el dueño, osea el usuario “U”
2º el grupo al que pertenece el usuario “G”
3º los demás usuarios “O”

ahora existen tres tipos de permisos para cada orden jerárquico, los que definen el permiso absoluto de cada jerarquía sobre el fichero.

1º de lectura “r”
2º de escritura “w”
3º de ejecución “x”

Estos permisos se aplican a cada orden es decir al usuario, al grupo , a otros.
Veamos un ej:

MI_CARPETA rwxr--r--

los primeros tres permisos se aplican a el usuario que es propietario de “MI_CARPETA” estos
indican que tiene permisos de lectura “r”, escritura “w” y ejecución “x”.

los segundos tres permisos se aplican a el grupo al que pertenece el usuario y son de lectura “r”
en el segundo lugar hay un guión “-” osea que no tiene permisos de escritura y en tercer lugar también hay un guión “-” lo que indica que tampoco tiene permisos de ejecución

los últimos tres permisos, los que corresponden a otros usuarios, que no sea el dueño ni estén en el grupo del dueño, son : el primero de lectura “r” el segundo al ser un guión “-” indica que no puede escribir en el fichero, el tercero que también es un guión indica entonces que no tiene permisos de ejecución.

Es simple pero si vemos sus equivalentes numéricos es mas simple aún.

A cada permiso, osea, a “r” de lectura, a “w” de escritura, y a “x” de ejecución, se le asignaron los siguientes valores numéricos:

r es igual que 4

w es igual que 2

x es igual que 1




así se simplifica la cosa veamos

si tomamos el ejemplo de el fichero “MI_CARPETA” que tenia permisos “rwxr—r--” y lo convertimos tendremos esto “MI_CARPETA”744
Analicemos parte por parte.

Los permisos se suman según su jerarquía, osea, se suman por un lado los permisos del usuario, los primeros tres permisos, “rwx”

r = 4
w =2 +
x = 1
_____
7


Por otro los segundos tres permisos, los del grupo al que pertenece el usuario

r = 4
w = 0 +
x = 0
_______
4

Por ultimo se suman los tres últimos permisos, los que tienen todos los demás usuarios, que no están el el grupo del usuario.

r = 0
w = 0 +
x = 0
______
4

Entonces la conversión da como resultado 744 el 7 representa los permisos del usuario, el primer 4 representa los permisos del grupo y el segundo 4 representa los permisos de otros.

Algunos ejemplos:

RWERWERWE = 777
RWER-- R-- = 744
RWERX- RX- = 755
RWE--X--X = 711
R—RW-R-X = ???
R—RW-R-X = ???

por ultimo para dar los permisos a un fichero/directorio se ejecuta en terminal:

chmod NNN fichero
donde N significa el numero de permiso a otorgar y fichero el fichero al que se le asigna permisos

chmod 755 /home/besa32bits/script.sh

con este ejemplo le di permisos de ejecucion al script veamos chmod es el comando que asigna los permisos 755 es el numero de permisio donde el 1º digito 7 corresponde al dueño, en este caso a mi, el 2º digito 5 a el grupo que pertenece el usuario, en este caso nadie, y a todos los demas 3º digito 5 de este modo todos lo pueden leer y ejecutar pero solo yo puedo modificarlo.

es todo cumpa ante cualquier duda consulte a su medico!!

3 comentarios:

  1. Buena info loco, aguante labinss, este blog esta copado
    salute

    ResponderEliminar
  2. hola buen articulo, es muy claro pero yo soy un poco duro y aun soy novato en esto de linux.
    tengo un problema, estoy configurando samba para poder compartir archivos con otra pc con win xp y cuando le quiero dar permisos a una carpeta me dice "operacion no permitida"
    que podra ser? te agradeceria me contestes es que son muchos los archivos y no puedo estar pasandolos con el pen
    saludos y desde ya muchas gracias

    PD: pon emoticones!!

    ResponderEliminar
  3. Mira cumpa el asunto es que solo el dueño de un archivo puede cambiar los permisos del archivo.
    o el super usuario tu asunto es que no tienes permisos para modificar esa carpeta prueba como root.
    poen su luego te pide el password y alli le das la orden chmod xxx no deberias tener problemas.

    Otra cosa me quede pensando que si no puedes dar permisos a la carpeta ( que supongo que es la que quieres compartir con samba) es porque esta en un directorio que fuera de tu /home/usuario y si es asi estas poniendo en riesgo la seguridad del sistema fijate en ese detalle cumpa no se recomienda compartira carpetsa furas de /home/usuario/carpeta_compartida. entiendes?

    bien cualquier cosa a las ordenes saludos y bienvenido!!

    ResponderEliminar

Comenta a gusto el tema recuerda no ser ofencivo y trata de escrivir de forma legible gracias por participar!!!!!!