7/25/2019 Usuario Propietario y Grupo Propietario de Un Archivo
1/12
Usuario propietario y grupo propietario de un archivo
Anteriormente se ha comentado que en Unix todos los archivos pertenecen
obligatoriamente a un usuario y a un grupo. Cuando un usuario crea un nuevo archivo, el
propietario del archivo ser el usuario que lo ha creado y el grupo del archivo ser elgrupo principal de dicho usuario.
Ejemplo, si un usuario llamado 'pepe' cuyo grupo principal es el grupo 'proesores' crea un
nuevo archivo, el propietario del archivo ser 'pepe' y el grupo propietario del archivo ser
'proesores', o lo que es lo mismo, el archivo pertenecer al usuario pepe y al grupo
proesores. !bligatoriamente, todos los archivos del sistema pertenecen a alg"n usuario y
a alg"n grupo.
Con el comando lsa#adiendo la opci$n %l &ormato largo podemos visuali(ar el usuario
propietario y el grupo propietario del archivo, ejemplo)
Mostrar el propietario con el comando ls -l
Comprobamos que el usuario propietario es pepe y el grupo propietario es profesores.
*a misma inormaci$n podemos verla desde el administrador de archivos si vamos a la
carpeta +home+pepe y mostramos las columnas correspondientes)
7/25/2019 Usuario Propietario y Grupo Propietario de Un Archivo
2/12
Navegador de archivos
ipos de permisosEn los -istemas Unix, la gesti$n de los permisos que los usuarios y los grupos de
usuarios tienen sobre los archivos y las carpetas, se reali(a mediante un sencillo
esquema de tres tipos de permisos que son)
ermiso de lectura
ermiso de escritura
ermiso de ejecuci$n
El signiicado de estos permisos diiere si se tienen sobre archivos o sobre carpetas. A
continuaci$n veremos el signiicado para cada uno de los casos)
ermiso de lectura
Cuando un usuario tiene permiso de lectura de un archivo signiica que puede leerlo o
visuali(arlo, bien sea con una aplicaci$n o mediante comandos. Ejemplo, si tenemos
7/25/2019 Usuario Propietario y Grupo Propietario de Un Archivo
3/12
permiso de lectura sobre el archivo examen.txt, signiica que podemos ver el contenido
del archivo. -i el usuario no tiene permiso de lectura, no podr ver el contenido del
archivo.
Cuando un usuario tiene permiso de lectura de una carpeta, signiica que puede visuali(ar
el contenido de la carpeta, es decir, puede ver los archivos y carpetas que contiene, biensea con el comando 'ls' o con un explorador de archivos como /onqueror. -i el usuario no
tiene permiso de lectura sobre la carpeta, no podr ver lo que contiene.
El permiso de lectura se simboli(a con la letra 'r' del ingl0s 'read'.
Permiso de lectura
ermiso de escrituraCuando un usuario tiene permiso de escritura sobre un archivo signiica que puede
modiicar su contenido, e incluso borrarlo. ambi0n le da derecho a cambiar los permisos
del archivo mediante el comando chmod as1 como cambiar su propietario y el grupo
propietario mediante el comando cho2n. -i el usuario no tiene permiso de escritura, no
podr modiicar el contenido del archivo.
Cuando un usuario tiene permiso de escritura sobre una carpeta, signiica que puede
modiicar el contenido de la carpeta, es decir, puede crear y eliminar archivos y otras
carpetas dentro de ella. -i el usuario no tiene permiso de escritura sobre la carpeta, no
podr crear ni eliminar archivos ni carpetas dentro de ella.
El permiso de escritura se simboli(a con la letra '2' del ingl0s '2rite'.
7/25/2019 Usuario Propietario y Grupo Propietario de Un Archivo
4/12
Permiso de escritura
ermiso de ejecuci$n
Cuando un usuario tiene permiso de ejecuci$n de un archivo signiica que puede
ejecutarlo. -i el usuario no dispone de permiso de ejecuci$n, no podr ejecutarlo aunque
sea una aplicaci$n.
*os "nicos archivos ejecutables son las aplicaciones y los archivos de comandos &scripts.
-i tratamos de ejecutar un archivo no ejecutable, dar errores.
Cuando un usuario tiene permiso de ejecuci$n sobre una carpeta, signiica que puede
entrar en ella, bien sea con el comando 'cd' o con un explorador de archivos como
/onqueror. -i no dispone del permiso de ejecuci$n signiica que no puede ir a dicha
carpeta.
El permiso de ejecuci$n se simboli(a con la letra 'x' del ingl0s 'e3ecute'.
7/25/2019 Usuario Propietario y Grupo Propietario de Un Archivo
5/12
Permiso de ejecucin
4A qui0n se puede otorgar permisos5
*os permisos solamente pueden ser otorgados a tres tipos o grupos de usuarios)
Al usuario propietario del archivo
Al grupo propietario del archivo
Al resto de usuarios del sistema &todos menos el propietario
-e pueden dar permisos de lectura, escritura, ejecuci$n $ combinaci$n de ambos al
usuario propietario del archivo, al grupo propietario del archivo o al resto de usuarios del
sistema. En Unix no existe la posibilidad de asignar permisos a usuarios concretos ni agrupos concretos, tan solo se puede asignar permisos al usuario propietario, al grupo
propietario o al resto de usuarios.
Ejemplo, si disponemos de un archivo llamado 'examen.txt' cuyo propietario es 'pepe' y
cuyo grupo propietario es 'proesores', se pueden dar permisos de lectura, escritura,
ejecuci$n $ combinaci$n de ambos al usuario 'pepe', al grupo 'proesores' y al resto de
usuarios, pero no podremos dar permisos a otros usuarios distintos de pepe &juan, luis,
pedro,... ni a otros grupos &alumnos, directivos, personal,... ya que el esquema Unix no
lo permite.
-upongamos que la siguiente igura representa los permisos de examen.txt)
Permisos de archivo
7/25/2019 Usuario Propietario y Grupo Propietario de Un Archivo
6/12
El usuario propietario &pepe podr leer y escribir en el documento. *os pertenecientes al
grupo proesores podrn leerlo y el resto no podr hacer nada.
-i deseo que otros usuarios tengan alg"n permiso sobre el archivo 'examen.txt', no me
quedar ms remedio que incluirlos en el grupo proesores u otorgar el permiso al resto
de usuarios pero si hago esto "ltimo, absolutamente todos los usuarios del sistemago(arn del permiso, por eso no se recomienda salvo que eso sea nuestra intenci$n.
ara poder cambiar permisos sobre un archivo, es necesario poseer el permiso de
escritura sobre el mismo. El usuario root puede modiicar los permisos de cualquier
archivo ya que tiene acceso total sin restricciones a la administraci$n del sistema.
6isuali(ar los permisos de un archivo o carpeta
Con el comando ls -lpodemos visuali(ar los permisos de los archivos o carpetas. Al
ejecutar el comando aparecen todos los archivos, uno por l1nea. El bloque de 78
caracteres del principio simboli(a el tipo de archivo y los permisos.
Permisos de archivo
El primer carcter indica de qu0 tipo de archivo se trata. -i es un gui$n '%' signiica que se
trata de un archivo normal, la letra 'd' signiica que se trata de una carpeta &directory, la
letra 'l' signiica que se trata de un enlace &lin9. !tros valores son s, p, b que se reieren a
soc9ets, tuber1as &pipe y dispositivos de bloque respectivamente.
*os : caracteres siguientes simboli(an los permisos del usuario propietario &; caracteres,
los permisos del grupo propietario &; caracteres y los permisos del resto de usuarios &;caracteres. 6ienen codiicados con las letras r, 2 y x que se reieren a los permisos de
lectura, escritura y ejecuci$n. -i en lugar de aparecer dichas letras aparecen guiones
signiica que se carece de dicho permiso. Ejemplo, si los die( primeros caracteres son
%r2%r%%%%% signiica que es un archivo normal, que el usuario propietario dispone de
permisos de lectura y escritura pero no de ejecuci$n, que el grupo propietario dispone tan
solo de permiso de lectura y el resto de usuarios no dispone de ning"n permiso. 6emoslo
en la siguiente imagen)
7/25/2019 Usuario Propietario y Grupo Propietario de Un Archivo
7/12
Permisos de lectura y escritura para el propietario y lectura para el grupo
En el siguiente ejemplo vemos que pepe tiene permiso de lectura y escritura y que el resto
solo tiene permiso de lectura tanto sobre el archivo 'apuntes.doc' como sobre el archivo
'examen.txt'.
++ 6isuali(aci$n de permisos
ls %l
total 877%8:%>< 7 apuntes.doc
%r2%r%%r%% 7 pepe proesores 77 >877%8:%>? 7:)>@ examen.txt
Cambio de permisos
ara cambiar los permisos de un archivo o una carpeta es necesario disponer del permiso
de escritura &2 sobre dicho archivo o carpeta. ara hacerlo, se utili(a el comando chmod.
*a sintaxis del comando chmod es la siguiente)
chmod opcionesB permiso nombrearchivoocarpeta
*os permisos se pueden representar de dos ormas. *a primera es mediante las iniciales
de a qui0n va dirigido el permiso &usuarioDu, grupoDg, restoDo &other, seguido de un
signo si se quiere a#adir permiso o un signo % si se quiere quitar y seguido del tipo depermiso &lecturaDr, escrituraD2 y ejecuci$nDx. Ejemplos)
++ Far permiso de escritura al usuario propietario sobre el archivo 'examen.txt'
G chmod u2 examen.txt
++ Huitar permiso de escritura al resto de usuarios sobre el archivo 'examen.txt'
G chmod o%2 examen.txt
7/25/2019 Usuario Propietario y Grupo Propietario de Un Archivo
8/12
++ Far permiso de ejecuci$n al grupo propietario sobre el archivo '+usr+bin+games+tetris'
G chmod gx +usr+bin+games+tetris
++ Far permiso de lectura al grupo propietario sobre el archivo 'examen.txt'
G chmod gr examen.txt
++ -e pueden poner varios permisos juntos separados por comas
G chmod u2,g%r,o%r examen.txt
++ -e pueden poner varios usuarios juntos
G chmod ug2 examen.txt
*a segunda orma de representar los permisos es mediante un c$digo num0rico cuya
transormaci$n al binario representar1a la activaci$n o desactivaci$n de los permisos. El
c$digo num0rico est compuesto por tres ciras entre 8 y ?. *a primera de ellas
representar1a los permisos del usuario propietario, la segunda los del grupo propietario yla tercera los del resto de usuarios.
En binario, las combinaciones representan el tipo de permisos. El bit ms a la derecha
&menos signiicativo se reiere al permiso de ejecuci$n &7Dactivar y 8Ddesactivar. El bit
central se reiere al permiso de escritura y el bit ms a la i(quierda se reiere al permiso de
lectura. *a siguiente tabla muestra las < combinaciones posibles)
C$d Iinario ermisos eectivos
8 8 8 8 % % %
7 8 8 7 % % x
> 8 7 8 % 2 %; 8 7 7 % 2 x
J 7 8 8 r % %
= 7 8 7 r % x
@ 7 7 8 r 2 %
? 7 7 7 r 2 x
-i deseamos otorgar s$lo permiso de lectura, el c$digo a utili(ar es el J. -i deseamos
otorgar s$lo permiso de lectura y ejecuci$n, el c$digo es el =. -i deseamos otorgar s$lo
permiso de lectura y escritura, el c$digo es el @. -i deseamos otorgar todos los permisos,
el c$digo es el ?. -i deseamos quitar todos los permisos, el c$digo es el 8. Ejemplos)
++ Far todos los permisos al usuario y ninguno ni al grupo ni al resto
chmod ?88 examen.txt
++ Far al usuario y al grupo permisos de lectura y ejecuci$n y ninguno al resto
chmod ==8 examen.txt
++ Far todos los permisos al usuario y lectura y ejecuci$n al grupo y al resto
7/25/2019 Usuario Propietario y Grupo Propietario de Un Archivo
9/12
chmod ?== +usr+bin+games+tetris
++ Far todos los permisos al usuario y de lectura al resto, sobre todos los archivos
chmod ?JJ K
++ Cambiar permisos a todos los archivos incluyendo subcarpetaschmod %L ?JJ K
Existe la posibilidad de cambiar los permisos utili(ando el explorador de archivos. ara
ello tan solo hay que seleccionar los archivos o carpetas y haciendo clic sobre la selecci$n
con el bot$n derecho del rat$n M ropiedades, nos aparecer la ventana de propiedades.
Naciendo clic en la pesta#a ermisos podremos establecer los permisos de una orma
sencilla y haciendo clic en 'ermisos avan(ados' de una orma avan(ada.
Estableciendo permisos desde el administrador de archivos
Iits -UOF y -POF
7/25/2019 Usuario Propietario y Grupo Propietario de Un Archivo
10/12
El bit SUIes una extensi$n del permiso de ejecuci$n. -e utili(a en escasas ocasiones y
sirve para que cuando un usuario ejecute una aplicaci$n, 0sta se ejecute con permisos del
usuario propietario en lugar de hacerlo con los del usuario que ejecuta la aplicaci$n, es
decir, es equivalente a que sea ejecutada por el propietario.
ara activar el bit SUI, se puede ejecutar el comando chmod u!s nombre"archivoosumar J888 al n"mero en octal si utili(amos dicho sistema. ambi0n se puede hacer lo
mismo para el grupo, es el denominado bit S#Isumando >888 al n"mero en octal.
Activar los bits -UOF $ -POF puede ocasionar problemas de seguridad sobre todo si el
propietario es root.
-i aplicamos el bit S#I a una carpeta, todas las subcarpetas y archivos creados dentro
de dicha carpeta tendrn como grupo propietario el grupo propietario de la carpeta en
lugar del grupo primario del usuario que ha creado el archivo. Es una ventaja cuando
varias personas pertenecientes a un mismo grupo, trabajan juntas con archivos
almacenados en una misma carpeta. -i otorgamos permisos de lectura y escritura al
grupo, los archivos podrn ser modiicados por todos los miembros del grupo y cuandocualquiera de ellos cree un archivo, 0ste pertenecer al grupo.
Qscaras
Cuando se crea un archivo, los permisos originales por deecto son @@@ y cuando se crea
una carpeta, los permisos por deecto son ???. Fichos permisos por deecto pueden
modiicarse con el comando umas$.
Con umas$podemos deinir la mscara de permisos, cuyo valor original es 888. El
permiso por deecto ser el resultado de restar del permiso original, el valor de la
mscara. -i deseamos que los archivos se creen con permisos @JJ &lo ms habitual,pondremos mscara 8>> ya que @@@%8>>D@JJ. En el caso de las carpetas, el permiso
eectivo ser ?== ya que ???%8>>D?==. -i anali(amos el valor de la mscara en binario,
cada bit a '7' desactiva un permiso y cada bit a '8' lo activa, es decir, si tiene un valor 8>>
&888 878 878 cuando creemos una carpeta, tendr permisos r2xr%xr%x y cuando creemos
un archivo tendr permisos r2%r%%r%% ya que el permiso de ejecuci$n para archivos hay que
ijarle con chmod al tener los archivos el permiso original @@@.
Cada usuario tiene su mscara. -e puede ijar la mscara por deecto para todos los
usuarios en el archivo +etc+proile o para cada usuario en el archivo +home+usuario+.bashrc
++ Ejemplo de uso de umas9
pepeRubuntu)+tmpS umas9
888>
pepeRubuntu)+tmpS m9dir nueva%carpeta
pepeRubuntu)+tmpS ls %l
dr2xr2xr%x > pepe proes 78>J Teb 7> 7:)J@ nueva%carpeta
pepeRubuntu)+tmpS umas9 8>>
pepeRubuntu)+tmpS m9dir otra%carpeta
7/25/2019 Usuario Propietario y Grupo Propietario de Un Archivo
11/12
pepeRubuntu)+tmpS ls %l
dr2xr2xr%x > pepe proes 78>J Teb 7> 7:)J@ nueva%carpeta
dr2xr%xr%x > pepe proes 78>J Teb 7> 7:)J@ otra%carpeta
pepeRubuntu)+tmpS
*a modiicaci$n con umas9 de la mascara por deecto no aecta a los archivos y carpetasexistentes sino solo a los nuevos %ue cree ese usuario a partir de ese momento&
Prupos privados de usuario
ara hacer ms lexible el esquema de permisos Unix, se recomienda utili(ar grupos
privados de usuario. Consiste en crear un nuevo grupocon el mismo nombre del usuario,
cada ve( que se crea un nuevo usuarioy hacer que el grupo principal del nuevo usuario
sea el nuevo grupo.
Ejemplo, si creamos un usuario pepe, crearemos tambi0n un grupo llamado pepe y
haremos que el grupo primario del usuario pepe sea el grupo pepe.
En el siguiente ejemplo observamos que el UOF del usuario pepe es 788> y que su grupo
principal es el 788; que corresponde al POF del grupo pepe. ambi0n vemos que si
creamos un nuevo archivo, pertenecer alusuario pepe y al grupo pepe.
++ Ejemplo) Usuario pepe y grupo pepe
pepeRubuntu)+tmpS more +etc+pass2d grep pepe
pepe)x)788>)788;))+home+pepe)
pepeRubuntu)+tmpS more +etc+group grep pepe
pepe)x)788;)
pepeRubuntu)+tmpS ls M archivo.txtpepeRubuntu)+tmpS ls %l
%r2%r2%r%% 7 pepe pepe 7> Teb 7> >8)7? archivo.txt
pepeRubuntu)+tmpS
Aunque pare(ca inservible, la creaci$n de un grupo personal para cada usuario, permitir
crear otros grupos mediante los cuales, dierentes personas puedan trabajar de orma
colaborativa sobre los archivos dentro de una carpeta concreta. 6emoslo mejor con un
ejemplo)
-upongamos que creamos una carpeta llamada 'examenes' que pertene(ca al grupoproesores. -i establecemos el bit -POF en dicha carpeta con el comando 'chmod gs
examenes', todos los archivos que se creen dentro de dicha carpeta tendrn como grupo
propietario el grupo proesores. -i todos los usuarios utili(an mscara 88>, los permisos
de los archivos sern @@J con lo cual, cualquier integrante del grupo proesores podra
visuali(ar y modiicar los archivos.
El problema de usar la mscara 88> es que cualquiera que pertene(ca al grupo principal
7/25/2019 Usuario Propietario y Grupo Propietario de Un Archivo
12/12
de un usuario, tendr1a acceso de escritura sobre sus archivos, pero esto no suceder
nunca ya que cada usuario tiene su propio grupo principal y nadie ms pertenece a 0l.
Cambiar usuario propietario y grupo propietario
ara poder cambiar el usuario propietario y el grupo propietario de un archivo o carpeta seutili(a el comando cho2n &change o2ner. ara ello hay que disponer de permisos de
escriturasobre el archivo o carpeta. *a sintaxis del comando es)
G cho2n nuevousuario.nuevogrupoB nombrearchivo
En el siguiente ejemplo vemos una secuencia de comandos en la que inicialmente
comprobamos que el archivo 'examen.txt' pertenece al usuario pepe y al grupo
proesores. osteriormente hacemos que pertene(ca al usuario luis y luego hacemos que
pertene(ca al usuario pedro y al grupo alumnos)
++ Cambiar propietario y grupo propietario
rootRubuntu)+tmpG ls %l
total J%r2%r2%r%% 7 pepe proesores 77 >88=%8:%>< >8)7= examen.txt
rootRubuntu)+tmpG cho2n luis examen.txt
rootRubuntu)+tmpG ls %l
total J
%r2%r2%r%% 7 luis proesores 77 >88=%8:%>< >8)7= examen.txt
rootRubuntu)+tmpG cho2n pedro.alumnos examen.txt
rootRubuntu)+tmpG ls %l
total J
%r2%r2%r%% 7 pedro alumnos 77 >88=%8:%>< >8)7= examen.txt
rootRubuntu)+tmpG