Conoce La Estructura de Permisos de Linux Al Detalle

download Conoce La Estructura de Permisos de Linux Al Detalle

of 6

Transcript of Conoce La Estructura de Permisos de Linux Al Detalle

  • 8/20/2019 Conoce La Estructura de Permisos de Linux Al Detalle

    1/13

    Conoce la Estructura de Permisos de

    Linux al Detalle

    Unix, al igual que Linux, nació como un sistema multiusuario, concebidoteniendo en mente que el sistema sería utilizado por múltiples usuarios. Seguroque muchas veces has oído hablar del famoso esquema o estructura depermisos de Linux, de que es uno de los pilares sobre el que descansa laseguridad del sistema. !n este post te intentare explicar todo lo que serespecto al tema, con el m"ximo grado de detalle que pueda, pero conpalabras simples para que que sea entendible para cualquier persona quetenga las ganar de conocerlo, así que, sin m"s entretenimiento, te de#o con el

  • 8/20/2019 Conoce La Estructura de Permisos de Linux Al Detalle

    2/13

    índice del post para que tu mismo te organices. !spero que lo disfrutes nos

  • 8/20/2019 Conoce La Estructura de Permisos de Linux Al Detalle

    3/13

     

  • 8/20/2019 Conoce La Estructura de Permisos de Linux Al Detalle

    4/13

    $omo %uncionan los &ermisos en Linu

    Los permisos en Linux funcionan según el mismo esquema que en Unix. '"sicamente se aplican sobre archivos sobre directorios, van asociados a usuarios o grupos de usuarios, pueden ser de lectura, de escritura o de e#ecución

    (icho de otro modo, todos los archivos directorios en Linux tienen asociado un grupo de permisos que debe de)nir las posibilidades de lectura, escritura  e#ecución que se aplican al usuario propietario del archivo, al grupo de usuario al que pertenece, al resto del mundo

    !structura de Usuarios *rupos en Linu

    Usuario  

    Linux es un sistema multiusuario en el que conviven simult"neamente diferentes usuarios desempe+ando roles mu diversos. $ada usuario se

     identi)ca por un User ( o U(. - continuación tienes explicado de un modo sencillo los principales usuarios que podemos encontrar en Linux

    &or un lado tenemos al usuario root o superusuario U( / 01, que es el único que tiene permisos sobre todo el sistema, el responsable de las tareas de administración del sistema, lates como la gestión creación de usuario, la instalación desinstalación de soft2are, etc. &ara cualquier acción que necesite permisos de superusuario, el sistema requerir" las credenciales de root

    -parte, est"n los que podríamos denominar usuarios de sistema o usuarios especiales. Son usuarios que van vinculados a ciertos servicios, que pueden asumir ciertos permisos relativos a este servicio. Se crean autom"ticamente e la instalación del sistema operativo o con la instalación de ciertas aplicaciones, como es el caso del antivirus $lam-3. -lgunos e#emplos de estos usuarios son bin, mail, apache, clamav, pulse, avahi, sslog, colord, etc., pero realmente

  • 8/20/2019 Conoce La Estructura de Permisos de Linux Al Detalle

    5/13

    ha muchos m"s en cualquier instalación est"ndar.

    &or último tenemos a los usuarios est"ndar, que representan las cuentas deusuarios individuales pueden haber tantos como se requiera. $ada cuenta deusuario est"ndar posee su directorio personal dentro de la 4home, en dondequedan almacenados todos sus archivos personales, adem"s de las

    preferencias de usuario de varias aplicaciones, archivos temporales, etc.

     5odos los usuarios en Linux suelen estar contenidos en el archivo 4etc4pass2d.&uedes visualizar el contenido del archivo con el comando que tienes acontinuación como ves, para visualizar el archivo necesitas permisos desuperusuario1.

    $ sudo cat /etc/passwd 

    *rupos

    &ara simpli)car la gestión de permisos entre tantos usuarios, Linux agrupa

    todos los usuarios dentro de grupos. (e este modo, a la hora de especi)carciertos permisos sobre un con#unto de usuarios, se pueden establecer lospermisos directamente sobre el grupo. $ada grupo se identi)ca por un *roup( o *U(.

    $ada usuario pertenece por defecto a un grupo con el mismo nombre, que seconoce como grupo principal de usuario o grupo primario de usuario. -dem"s,un mismo usuario puede estar dentro de otros grupos, que serían los grupossecundarios.

     6 de forma similar a los usuarios, los grupos en Linux quedan registrados en elarchivo 4etc4group, puedes visualizar su contenido con el siguiente comando7

    $ sudo cat /etc/group 

     5odos cada uno de los archivos en Linux son propiedad de un usuario de ungrupo, sobre cada archivo recaen unos permisos relativos al usuario, algrupo, al resto de usuarios o de grupos. 6 con esto enlazamos directamentecon las siguientes lineas8

     5ipos de &ermisos

    Usuario, Grupo y Otros 

    (e entrada, en cualquier )chero o carpeta ha tres tipos o niveles de permisos,los que se aplican al propietario del archivo o carpeta, los que se aplican atodos los usuarios del grupo al que pertenece el propietario, los que seaplican a todos los dem"s. - continuación tienes explicado con m"s detalle enque consiste cada uno de ellos.

    &ermisos del Usuario7 !l primer nivel de permisos es el de usuario, b"sicamente representa los permisos que se aplican al usuario o propietario de

  • 8/20/2019 Conoce La Estructura de Permisos de Linux Al Detalle

    6/13

    un archivo.

    &ermisos del *rupo7 !l segundo nivel de permisos es el del grupo, que ende)nitiva de)ne los permisos de lectura, escritura e#ecución que se aplicansolo a aquellos usuarios que pertenecen al mismo grupo de usuarios que elpropietario del archivo.

    &ermisos de 9tros7 &or último, otros es el ultimo "mbito sobre el que se puedenestablecer los permisos de archivos carpetas, representan la capacidad delectura, escritura e#ecución por parte del resto de usuarios que no entran enninguno de los niveles anteriores

    &ermisos de Lectura, !scritura !#ecución

    $omo hemos dicho, sobre un archivo podemos de)nir b"sicamente tres tiposde permisos, los de lectura, los de escritura los de e#ecución. Los permisosfuncionan sobre archivos o sobre directorios, pero existen algunas diferencias

    de matiz que ver"s si sigues leendo.

    Lectura7 Los permisos de lectura representan la posibilidad de poder acceder aun archivo o carpeta leer su contenido. !n un directorio hacen referencia a laposibilidad visualizar su contenido.

    !scritura7 Los permisos de escritura de)nen la posibilidad de acceder modi)car el contenido de un archivo, o en caso de un directorio, la capacidadde borrar o a+adir archivos dentro de :l.

    !#ecución7 Los permisos de e#ecución indican la posibilidad de e#ecutar undeterminado archivo en el sistema. !stos son los m"s críticos, solo deberían

    conceder sobre aquellos usuarios archivos para los que sea absolutamenteindispensable. !n el caso de un directorio, los permisos de e#ecuciónrepresentan la capacidad de entrar dentro del directorio.

    &ermisos !speciales

    -dicionalmente, existen tres bits de permisos especiales denominados setuid,setgid stic; bit. '"sicamente tratan de determinar ciertos tipos de permisosque no quedan cubiertos con los anteriores. (e forma resumida, podríamosdecir que7

    !l bit setuid se puede asignar a archivos e#ecutables, en este caso determinala posibilidad de que el proceso vinculado al archivo pueda adquirir lospermisos del propietario del archivo en el momento de su e#ecución.

  • 8/20/2019 Conoce La Estructura de Permisos de Linux Al Detalle

    7/13

    archivo

    &or último, stic; bit se puede asociar a directorios en los que tienen accesovarios usuarios con permisos de escritura, b"sicamente permite evitar que unusuario pueda borrar archivos de otro usuario dentro del mismo directorio.

     5ienes información m"s detallada sobre estos tres tipos de permisos especialesen el blog de rm=rf.

    3isto a todo esto, creo que es el momento de pasar a ver con m"s detallecomo se representan los permisos, como puedes conocer los permisosasignados a un determinado archivo directorio. -hora empieza lo m"sinteresante8

    $omo se representan los &ermisos

    Representación Estándar 

    Los permisos asociados a un archivo o carpeta se suelen representar en línea.!l primer car"cter se reserva para los denominados permisos especialesb"sicamente hace referencia al tipo de archivo1, seguido de tres caracterespara los permisos del propietario del archivo, otros tres para los permisos delgrupo, los tres últimos para los permisos del resto de usuarios.

  • 8/20/2019 Conoce La Estructura de Permisos de Linux Al Detalle

    8/13

    !l primer bit indica el tipo de archivo. *eneralmente pueden darse lossiguientes casos7

    - | Se trata de un archivo reguar 

    d | Se trata de un directorio 

    | Se trata de un enace si!"óico 

    " | Se trata de un archivo especia de "o#ues 

    !l resto de los > bits que vienen a continuación representan los permisos delusuario propietario del archivo o directorio, los permisos del grupo al quepertenece este usuario, los permisos del resto de usuarios. -quí tienes elsigni)cado7

    r | Se dan per!isos de ectura 

    w | Se dan per!isos de escritura 

    | Se dan per!isos de e%ecución 

    - | &o se da e per!iso de ectura, escritura o e%ecución 

    ?epresentación

  • 8/20/2019 Conoce La Estructura de Permisos de Linux Al Detalle

    9/13

    -l )nal, del número en binario obtenido, el número decimal que le correspondees el que se utiliza para representar las diferentes combinaciones r2x en cada

    grupo o nivel de permisos usuario, grupo otros1.

    r-- | '(( | ) 

    -w- | ('( | * 

    -- | ((' | ' 

     5eniendo en cuenta esto, por cada nivel de permisos usuario, grupo u otros1podemos sacar un número que es la suma de todos los anteriores,dependiendo de los permisos que se tengan. $on esto podemos llegar a tenerlas siguientes combinaciones7

    rw | ''' | + 

    rw- | ''( |  

    r- | '(' |  

    r-- | '(( | ) 

  • 8/20/2019 Conoce La Estructura de Permisos de Linux Al Detalle

    10/13

    -w | ('' | . 

    -w- | ('( | * 

    -- | ((' | ' 

    --- | ((( | ( 

     5eniendo esto en cuenta, la representación es igual que en el caso anterior,pero para cada uno de los niveles de permisos usuario, grupo otros1 sesustitue la combinación de los tres tipos de permisos por un numero del @ alA, en función de las combinaciones anteriores.

    Si sigues leendo, un poco m"s adelante tienes varios e#emplos de archivos directorios, con sus permisos en formato est"ndar, su equivalente en formaoctal.

    $omo puedo conocer los &ermisos de un -rchivo o (irectorio

    Ba varias formas de conocer los permisos de un archivo o directorio de tusistema. Una opción es hacerlo desde el mismo navegador de archivos visualiz"ndolo de forma gr")ca, pero es un poco lento a la pr"ctica resultamucho m"s cómodo r"pido hacerlo desde la línea de comandos.

    3er &ermisos desde el !xplorador de -rchivos

    &ara ver los permisos de un archivo o directorio desde el mismo navegador dearchivos, en Ubuntu o derivados es tan sencillo como hacer clic derecho sobre

    un archivo en cuestión, luego hacer clic en &ropiedades, dirigirte en lapesta+a &ermisos.

    -rchivos de texto dentro de 4home4user

    !n esta imagen tienes el aspecto que tienen los permisos por defecto decualquier archivo de texto en este caso un archivo .odt1 ubicado dentro de lacarpeta (ocumentos del directorio de usuario. $omo puedes ver, el propietario el grupo tienen permisos de lectura escritura sobre el archivo, mientras queel resto de usuarios solo tienen permiso de lectura.

  • 8/20/2019 Conoce La Estructura de Permisos de Linux Al Detalle

    11/13

    (irectorios dentro de 4home4user4

    -hora si te parece podemos visualizar los permisos de los directorios que seencuentran dentro de 4home. $omo puedes ver en la captura de aba#o paraeste e#emplo he cogido la carpeta (ocumentos1, el usuario tiene permisos paracrear eliminar archivos serían permisos de lectura escritura1, mientras queel grupo el resto de usuarios tienen solo permisos para acceder a archivospermisos de lectura1.

  • 8/20/2019 Conoce La Estructura de Permisos de Linux Al Detalle

    12/13

     

    3er &ermisos desde la línea de comandos con Cls =l

    9tra forma mucho m"s visual precisa de ver los permisos que tienen losarchivos contenidos en un directorio es a trav:s de la línea de comandos, conel comando Cls =l. !sta opción del comando te listar" todos los archivos directorios dentro del directorio de traba#o actual, #unto con los permisosasociados.

    $ s - 

    -rchivos dentro de 4home4user

    Si aplicas el comando estando en un directorio cualquiera que contengaarchivos, ver"s un listado con todos los archivos directorios, #unto con suspermisos. Si te parece vamos a analizar los permisos del archivo de texto quehemos analizado antes7

    $ s - ocu!entos 

    -rw-rw-r-- ' user group *+(+ %un *0 '*1.+ no!"rearchivo 

  • 8/20/2019 Conoce La Estructura de Permisos de Linux Al Detalle

    13/13

    Be puesto el mismo archivo del e#emplo de antes, para ver la equivalencia.$omo ves, el usuario el grupo tienen permisos de lectura escritura, elresto de usuarios permisos de solo lectura. gual que antes pero de un modom"s preciso. !l equivalente en formato num:rico seria7

    (irectorios dentro de 4home4user4

    -hora, al igua que hemos hecho desde el explorador de archivos, podemosanalizar los permisos del directorio (ocumentos. &ara ello, estando en laterminal aplicando Cls =l obtendr"s un listado con todos los directorios dentrode 4home, incluida la carpeta (ocumentos.

    $ s -drwr-r- * user group )(2 %un *0 '*1)* escargasdrwr-r- * user group )(2 %un *0 '*1)* ocu!entosdrwr-r- * user group )(2 %un *0 '*1)* Escritorio

    drwr-r- * user group )(2 %un *0 '*1)* 3!ágenesdrwr-r- * user group )(2 %un *0 '*1)* 45sicadrwr-r- * user group )(2 %un *0 '*1)* 6antiasdrwr-r- * user group )(2 %un *0 '*1)* 65"icodrwr-r- * user group )(2 %un *0 '*1)* 78deos 

    ?ealmente ver"s un listado con todo el contenido que tengas dentro de la4home, pero solo he puesto el los directorios para compararlo con el resultadoobtenido a trav:s del navegador de archivos en el caso de (ocumentos. $omoves, el usuario tiene permisos de lectura, escritura e#ecución, mientras que elgrupo el resto de usuarios solo lectura e#ecución. !l equivalente en formanum:rica es7

    ?ecuerda que los permisos de e#ecución sobre un directorio representan lacapacidad de poder entrar dentro del directorio. !n este caso, todos losusuarios pueden entrar dentro los directorios de la 4home de un usuarioconcreto ver su contenido, pero solo el usuario propietario puede modi)car elcontenido de dentro.

    Si quieres m"s e#emplos

    Si tienes curiosidad, con el comando Cls =l a has visto que puedes visualizar

    los permisos de todos los archivos directorios que se te ocurren. !so sí, laposibilidad de e#ecutar este comando sobre un directorio lo determina el hechoque tenga permisos de lectura, por lo que en algunos casos quiz" no obtengasresultado debas hacerlo a trav:s de sudo utilizando los permisos de root.