Semana 2 y 3 - File Owner Ships and Per Missions

31
 File Ownerships and Permissions 1 Capítulo 1 Propiedade s de Archivos regulares y Permisos  Conceptos clave  Los archivos tienen usuario propietario, un grupo propietario, y una serie de permisos.  Tres tipos de permisos: lectura (r), escritura (w) y ejecución (x)  Tres clases de acceso: (u)suario, (g)rupo propietario, y (o)tro  Ver la propiedad y los permisos de archivo: ls -l  Modificar la propiedad y permisos:chmod, chgrp, y chown Usuarios propietarios, Grupos propietarios y Permisos  Linux es un entorno multiusuario y como tal, personas muy diferentes pueden estar trabajando al mismo tiempo con una serie de archivos sencillos. Se espera que algunos de estos archivos sean compartidos, de tal manera que muchas personas puedan verlos y modificarlos. Por ejemplo, alguien puede estar haciendo la lista de regalos para un cumpleaños próximo. Entre más gente pueda leer este archivo, mejor. Sin embargo, puede que haya otros archivos que se quieran mantener en privado. Por ejemplo, muy poca gente querrá que alguien le lea su diario, otros querrán tener un archivo de lectura para todos en el sistema, y permitirle a unos pocos modificarlo. Cada archivo en Linux tiene tres propiedades que permiten a los usuarios controlar quién tiene acceso al archivo y cómo: un usuario propietario, un grupo propietario y una serie de permisos otorgados. Cuando un usuario crea un archivo, éste se convierte en el propietario del archivo del usuario y por lo general, el grupo primario del usuario, se convierte en el propietario del archivo de grupo. Un usuario no puede cambiar el archivo del usuario propietario, pero el usuario tiene algunas habilidades para cambiar el grupo propietario. Los bits de permisos definen la forma como las tres clases diferentes de usuarios pueden usar el archivo: el propietario del archivo, los miembros del grupo que poseen el archivo y cualquier otro usuario. Considere el siguiente listado largo del directorio /var/gigs. Figure 1. Listado largo de directorio /var/gigs. [student@station student]$ ls -l /var/gigs/  total 28 -rw-rw-r-- 1 elvis elvis 129 Jan 13 14:48 atlanta -rw-r--r-- 1 blondie music 142 Jan 13 14:46 boston -rw-rw-r-- 1 elvis music 143 Jan 13 14:48 chicago -rwxr-x--- 1 root music 55 Jan 13 15:25 generate_report.sh -rw-rw-r-- 1 root music 2057 Jan 13 14:47 los_angeles -rw-rw-r-- 1 elvis music 142 Jan 13 14:47 san_francisco -rw-rw-r-- 1 blondie blondie 135 Jan 13 14:47 springfield La última columna es el nombre del archivo, mientras que la tercera y cuarta columnas, indican los propietarios del archivo de usuario y grupo, respectivamente. En las

Transcript of Semana 2 y 3 - File Owner Ships and Per Missions

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 1/31

  File Ownerships and Permissions 

1

Capítulo 1 Propiedades de Archivos regulares y Permisos 

Conceptos clave 

•  Los archivos tienen usuario propietario, un grupo propietario, y una serie de

permisos.

•  Tres tipos de permisos: lectura (r), escritura (w) y ejecución (x)

•  Tres clases de acceso: (u)suario, (g)rupo propietario, y (o)tro

•  Ver la propiedad y los permisos de archivo: ls -l 

•  Modificar la propiedad y permisos:chmod, chgrp, y chown 

Usuarios propietarios, Grupos propietarios y Permisos 

Linux es un entorno multiusuario y como tal, personas muy diferentes pueden estar

trabajando al mismo tiempo con una serie de archivos sencillos. Se espera que algunosde estos archivos sean compartidos, de tal manera que muchas personas puedan verlos y

modificarlos. Por ejemplo, alguien puede estar haciendo la lista de regalos para un

cumpleaños próximo. Entre más gente pueda leer este archivo, mejor. Sin embargo,

puede que haya otros archivos que se quieran mantener en privado. Por ejemplo, muy

poca gente querrá que alguien le lea su diario, otros querrán tener un archivo de lectura

para todos en el sistema, y permitirle a unos pocos modificarlo.

Cada archivo en Linux tiene tres propiedades que permiten a los usuarios controlar

quién tiene acceso al archivo y cómo: un usuario propietario, un grupo propietario y una

serie de permisos otorgados. Cuando un usuario crea un archivo, éste se convierte en el

propietario del archivo del usuario y por lo general, el grupo primario del usuario, se

convierte en el propietario del archivo de grupo. Un usuario no puede cambiar el

archivo del usuario propietario, pero el usuario tiene algunas habilidades para cambiar

el grupo propietario. Los bits de permisos definen la forma como las tres clases

diferentes de usuarios pueden usar el archivo: el propietario del archivo, los miembros

del grupo que poseen el archivo y cualquier otro usuario.

Considere el siguiente listado largo del directorio /var/gigs.

Figure 1. Listado largo de directorio /var/gigs. 

[student@station student]$ ls -l /var/gigs/ 

total 28

-rw-rw-r-- 1 elvis elvis 129 Jan 13 14:48 atlanta

-rw-r--r-- 1 blondie music 142 Jan 13 14:46 boston

-rw-rw-r-- 1 elvis music 143 Jan 13 14:48 chicago

-rwxr-x--- 1 root music 55 Jan 13 15:25

generate_report.sh

-rw-rw-r-- 1 root music 2057 Jan 13 14:47 los_angeles

-rw-rw-r-- 1 elvis music 142 Jan 13 14:47 san_francisco

-rw-rw-r-- 1 blondie blondie 135 Jan 13 14:47 springfield

La última columna es el nombre del archivo, mientras que la tercera y cuarta columnas,

indican los propietarios del archivo de usuario y grupo, respectivamente. En las

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 2/31

  File Ownerships and Permissions 

2

siguientes secciones veremos cómo utilizar la primera columna para determinar los

permisos del archivo.

Los tres tipos de permisos: lectura (r), escritura (w), y ejecución(x) 

Al decidir quién puede tener acceso al archivo, un usuario puede distinguir entre tres

tipos de permisos. Alguien puede ver un archivo si tiene permisos de lectura, pero

deberá tener permisos de escritura para modificarlo. Los permisos de ejecución,

permiten que alguien utilice el archivo como un comando. Para iniciar una aplicación o

ejecutar un script, el archivo que contenga la aplicación o el script deberá ser ejecutable.

Los archivos normales de datos no usan el tipo de permiso ejecutable.

Table 1. Permisos de Archivos Regulares 

Lectura(r) escritura (w) ejecución (X)

Ver el archivo Modificar el archivo Usar el archivo como comando

Las tres clases de acceso: (u)suario, (g)rupo propietario, y (o)tro. 

Cada archivo tiene una serie de permisos de lectura(r), escritura(w), y ejecución(X) para

las tres clases diferentes de acceso de archivo. El propietario del archivo utiliza el

primer grupo. Los miembros del grupo propietario del archivo utilizan el segundo y

todos los demás que no estén incluidos en las dos categorías anteriores utilizan el

último. Los permisos de un archivo se presentan, por lo general, con una serie de nueve

caracteres, tales como rwxr-xr-x. Las primeras tres letras representan los permisos del"usuario", las siguientes tres, los permisos del "grupo", y las últimas tres el permiso del

"otro". Una letra indica que el permiso correspondiente se ha activado, mientras que si

aparece un guión esto significa que no se tiene permiso.

Figure 1. Permisos para las tres clases de acceso de archivo 

Cuando alguien trata de acceder a un archivo, Linux hace las siguientes preguntas en

este orden:

1.  ¿El usuario es propietario del archivo? Si lo es entoces utiliza los permisos de

usuario.

2.  ¿El usuario es miembro del grupo que dueño del archivo? Si lo es entonces se

utilizan los permisos de grupo.

3.  De lo contrario, se utilizan los otros permisos.

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 3/31

  File Ownerships and Permissions 

3

Ejemplos 

Archivos recién creados 

Considere el siguiente verso que elvis está componiendo:

[elvis@station elvis]$ echo "Había una vez un hombre peruano" >/tmp/limerick[elvis@station elvis]$ ls -l /tmp/limerick 

-rw-rw-r-- 1 elvis elvis 32 Jan 14 13:42 /tmp/limerick

Observe que por defecto, elvis posee el archivo y como propietario de archivo tiene

permisos de escritura y de lectura. Los otros usuarios sólo pueden leer el archivo

(debido a que Red Hat Enterprise Linux utiliza el esquema del grupo privado de

usuario, el usuario elvis es también el único miembro del grupo elvis). Como elvis tiene

permisos para escribir, puede modificar el archivo añadiendo la próxima línea del verso:

[elvis@station elvis]$ echo "que todo le importaba un pepino" >>

/tmp/limerick 

Otros usuarios como blondie, sin embargo, solo pueden leer el archivo. Cuando blondie

trata de sobrescribir el archivo con su propio verso, se da cuenta que no tiene los

permisos apropiados.

[blondie@station blondie]$ cat /tmp/limerick 

Había una vez un peruano,que todo le importaba un pepino.

[blondie@station blondie]$ echo "Había una vez un argentino " >/tmp/limerick 

-bash: /tmp/limerick: Permission denied

Archivos compartidos por un grupo 

Considere los siguientes usuarios, y sus respectivas membresías de grupo:

user grupos

blondie blondie,music

elvis elvis,music,wrestle,physics,emperors

hogan hogan,wrestle

bob bob

La siguiente es una lista de archivos en el directorio /tmp:

[elvis@station elvis]$ ls -l /tmp 

total 28

-rw------- 1 bob bob 136 Jan 14 15:58 diary-rw-rw-r-- 1 elvis music 142 Jan 14 15:58 gigs

-rw-rw-r-- 1 elvis elvis 70 Jan 14 13:42 limerick

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 4/31

  File Ownerships and Permissions 

4

-rw-rw---- 1 blondie blondie 134 Jan 14 15:59 lyrics

-rw------- 1 blondie blondie 29 Jan 14 16:00 lyrics.old

-rw-r----- 1 hogan wrestle 146 Jan 14 15:58 routines

El arhivo diary de bob sólo lo puede leer y escribir Bob.

Elvis es el propietario del archivo gigs, pero cualquiera que pertenezca al grupo

music puede leer o escribir en este archivo. Cualquier músico, puede añadir (o

borrar) un evento en la programación y cualquiera puede leer el archivo para saber

cuándo tocan los músicos.

En contraste, blondie ha estado trabajando en el archivolyrics, el cual no está aún

listo para compartir. Aunque el archivo tiene permiso de escritura, es de propiedad

del grupo de blondie. Como Red Hat implementa el esquema de grupo privado de l

usuario, la usuaria blondie debería ser la única miembro del grupo blondie. Los

permisos en lyrics tienen el mismo efecto de aquellos en lyrics.old.

Hulk Hogan ha estado trabajando en routines para una función de lucha libre.

Para no tomar a otros luchadores (wrestlers en inglés) por sorpresa, ha dejado un

archivo de sólo lectura para todos los miembros del grupo wrestle. Observe que

otros luchadores pueden leer el archivo, pero no pueden cambiar ninguna de las

rutinas. El que no sea miembro del grupo de wrestlers no tiene acceso al archivo.

Archivos ejecutables 

Los archivos que se deben interpretar como comandos necesitan tener permisos de

ejecución.

[elvis@station elvis]$ ls -l /bin/ls /usr/bin/mozilla -rwxr-xr-x 2 root root 67884 Sep 2 07:21 /bin/ls

-rwxr-xr-x 1 root root 5607 Oct 3 13:58

/usr/bin/mozilla

El comando ls es ejecutable por cualquiera. Observe que el permiso de lectura no se

necesita para ejecutar el comando, pero permite a los usuarios ver el contenido del

archivo (a menudo binario). Los permisos de lectura para mozilla, por ejemplo,

permiten a los usuarios observadores darse cuenta de que el comando es realmente un

script de texto navegable.

Enlaces simbólicos 

A pesar de que los enlaces simbólicos tienen permisos, los permisos son siempre

rwxrwxrwx. Las decisiones de acceso "fracasan" de a cuerdo al archivo al que se refiere

el enlace simbólico.

[elvis@station elvis]$ ls -l /bin/view /bin/vi 

-rwxr-xr-x 1 root root 451628 Aug 27 19:09 /bin/vi

lrwxrwxrwx 1 root root 2 Sep 11 11:32 /bin/view ->

vi

El comando view, el cual es en realidad un enlace simbólico, tendría los mismos

permisos que: rwxr-xr-x.

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 5/31

  File Ownerships and Permissions 

5

Ejercicios en línea 

Exploración de permisos en archivos recién creados 

Lab Exercise

Objetivo:Examinar la conducta predeterminada de los archivos recién creados

Tiempo estimado:10 minutos

Cree un subdirectorio en el archivo/tmp con el mismo nombre de su nombre de

usuario. Por ejemplo, si su nombre de usuario es elvis, cree el directorio

/tmp/elvis. A este directorio se le llamará /tmp/nombre de usuario.

Haga una lista corta de propósitos para el año entrante en su editor de textopreferido o simplemente desde la línea de comandos. Almacene el archivo en su

directorio recién creado como /tmp/nombredeusuario/resolutions.txt .

1.  [student@station student]$ nano /tmp/student/resolutions.txt 

2.  ... (compose and save your text) ...

3.  [student@station student]$ cat /tmp/student/resolutions.txt 

4.  keep room clean

5.  don't eat all of the pop tarts

6.  use less proprietary software

7.  [student@station student]$ ls -l /tmp/student/resolutions.txt 

8.  -rw-rw-r-- 1 student student 77 Jan 15 07:12

/tmp/student/resolutions.txt

Conviértase en uno de sus usuarios de cuenta alterna. Puede reiniciar desde otra

consola virtual, desde una conexión de red o sencillamente con ejecutar su - al

usuario alterno.

9.  [student@station student]$ su - student_a 

10.  Password:

11.  [student_a@station student_a]$ 

12. Como el usuario alterno, confirme si puede ver el archivo. Trate de añadir un

nuevo punto a la lista. ¿Por qué no puede modificar el archivo como el usuario

alterno?

13.  [student_a@station student_a]$ cat /tmp/student/resolutions.txt 14.  keep room clean

15.  don't eat all of the pop tarts

16.  use less proprietary software

17.  [student_a@station student_a]$ echo "lose weight" >>/tmp/student/resolutions.txt 

18.  -bash: /tmp/student/resolutions.txt: Permission denied

Deliverables 

Question 1 

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 6/31

  File Ownerships and Permissions 

6

1.  Un archivo recién creado titulado /tmp/nombredeusuario/resolutions.txt,

con permisos predeterminados.

Capitulo 2 Cambio de permisos de archivos: chmod 

Conceptos clave 

•  El comando chmod se utiliza para modificar los permisos de archivo

•  El primer argumento para chmod usa una sintaxis [ugoa]+/-[rwx] para describir

cómo deberían cambiarse los permisos.

En la lección anterior, aprendimos que los archivos tienen permisos de lectura (r),

escritura(w) y ejecución(x); y tres clases de acceso ((u)suario, (g)rupo, y (o)tro, los

cuales definen la manera en que se puede utilizar el archivo. Los permisos son

administrados por el comando chmod. Usualmente, en Linux, al permiso de archivo se

le conoce como el "modo" del archivo. El nombre chmod es un atajo para

cambiarmodo.

Por ejemplo, cuando alguien crea un archivo, por defecto el archivo puede ser

modificado por sólo una persona, pero puede ser leíble por todos en el sistema.

Supongamos que elvis estuviera trabajando en la letra de una nueva canción y no

quisiera que nadie la leyera antes de haberla terminado. Primero crearía el archivo y

para no permitir a otros la lectura de éste, necesitaría utilizar el comando chmod.

[elvis@station elvis]$ echo "Well, it's one for the honey," > blue_suede

[elvis@station elvis]$ echo "Two for the snow," >> blue_suede[elvis@station elvis]$ ls -l blue_suede 

-rw-rw-r-- 1 elvis elvis 48 Jan 16 08:09 blue_suede

[elvis@station elvis]$ chmod o-r blue_suede[elvis@station elvis]$ ls -l blue_suede

-rw-rw---- 1 elvis elvis 48 Jan 16 08:09 blue_suede

Observe que en el primer uso del comando ls -l, el archivo tenía permiso de lectura para

todos. Sin embargo, después del comando chmod, el comando ls -l muestra que otros ya

no lo pueden leer. Cuando elvis haya decidido la letra de la canción entonces puede

restaurar la lectura del archivo para otros, utilizando una vez más chmod.

[elvis@station elvis]$ echo "Well, it's one for the money," > blue_suede[elvis@station elvis]$ echo "Two for the show," >> blue_suede[elvis@station elvis]$ echo "Three to get ready," >> blue_suede[elvis@station elvis]$ echo "Now go, cat, go." >> blue_suede[elvis@station elvis]$ ls -l blue_suede 

-rw-rw---- 1 elvis elvis 48 Jan 16 08:10 blue_suede

[elvis@station elvis]$ chmod o+r blue_suede[elvis@station elvis]$ ls -l blue_suede 

-rw-rw-r-- 1 elvis elvis 85 Jan 16 08:11 blue_suede

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 7/31

  File Ownerships and Permissions 

7

El comando chmod le permite al usuario cambiar cualquier permiso asociado con un

archivo. El primer argumento está compuesto por una secuencia de letras que

especifican las clases de acceso, seguidas por los signos: más, menos, o igual y por otra

secuencia de letras que especifican el tipo de permiso a cambiar. Cualquier argumentosubsecuente especifica una lista de archivos para aplicar los cambios. La sintaxis se

resume en la siguiente tabla:

Figure 1. Uso del comando chmod 

abreviación interpretación

u user

g grupo

o otro

a todos

+ agregar

- borrar

= set

r leer

w escribir

x ejecutar

Ejemplos 

Uso del comando chmod en archivos 

La siguiente tabla presenta varios ejemplos de cómo el comando chmod se puede

utilizar para modificar permisos de un archivo llamadofoo, con los permisos

predeterminados de rw-rw-r--. La primera columna es un ejemplo del uso del

comando chmod y la última columna son los permisos que el archivo tendría después

de ejecutar el comando.

[elvis@station elvis]$ ls -l foo 

-rw-rw-r-- 1 elvis elvis 42 Jan 16 08:09 foo

command efectopermisos

resultantes

chmod o-r foo suprime el permiso de lectura a otros rw-rw---- 

chmod g-w foo suprime el permiso de escritura para el grupo rw-r--r-- 

chmod ug+x

fooagrega permiso de ejecución al usuario y grupo rwxrwxr-- 

chmod o+w agrega permiso de escritura a otro rw-rw-rw- 

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 8/31

  File Ownerships and Permissions 

8

command efectopermisos

resultantes

foo

chmod go-rwx

foo

suprime el permiso de lectura, escritura y ejecución a

grupo y otrorw------- 

chmod a-w foo suprime el permiso de escritura a todos r--r--r-- 

chmod uo-r

foosuprime el permiso de lectura para el usuario y otro -w-rw---- 

chmod go=rx

foo

establece el permiso de lectura y ejecución pero no

de escritura para el grupo y otrorw-r-xr-x 

Apesar de que las dos últimas entradas funcionarían, ¿por qué es difícil imaginar un uso

para un archivo con cualquiera de los dos permisos resultantes?

Ejercicios en línea 

Hacer un Archivo Privado 

Lab Exercise

Objetivo: Cambiar permisos en un archivo de tal manera que otros no puedan

leerlo.

Tiempo esperado: 10 minutos

Cree el directorio /tmp/nombredeusuario, si no existe todavía. Por ejemplo, si su

nombre de usuario es elvis, cree el directorio /tmp/elvis.

Cree una lista sencilla de propósitos en el archivo:

/tmp/nombredeusuario/resolutions.txt .

Puede utilizar un editor de texto, su archivo del ejercicio anterior si todavía está

disponible, o simplemente cree uno nuevo como en el siguiente ejemplo.

1.  [student@station student]$ cat > /tmp/student/resolutions.txt 

2.  keep room clean

3.  don't eat all of the pop tarts

4.  use less proprietary software

5.  Ctrl-D 

6.  [student@station student]$ ls -l /tmp/student/resolutions.txt 

7.  -rw-rw-r-- 1 student student 77 Jan 16 17:52

/tmp/student/resolutions.txt

Observe que los permisos en un archivo creado recientemente, le permiten a todos los

usuarios en el sistema leer el archivo. Asuma que quiere mantener sus propósitos en

secreto. Modifique los permisos de archivos de tal forma que los otros no tengan accesode lectura.

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 9/31

  File Ownerships and Permissions 

9

8.  [student@station student]$ chmod o-r/tmp/student/resolutions.txt

9.  [student@station student]$ ls -l /tmp/student/resolutions.txt 

10.  -rw-rw---- 1 student student 77 Jan 16 17:52

/tmp/student/resolutions.txt

Al utilizar una de las cuentas alternas, confirme que otros usuarios en el sistema no

pueden leer sus propósitos.

11.  [student@station student]$ su - student_a 

12.  Password:

13.  [student_a@station student_a]$ cat /tmp/student/resolutions.txt 

14.  cat: /tmp/student/resolutions.txt: Permiso negado

¿En qué difiere esto del ejercicio de la lección anterior?

1.  Un archivo /tmp/resolutions.txt, recién creado es leíble únicamente por el

propietario del archivo.

Capítulo 3 Cambio de Propiedad de Archivos con el comandochgrp y chown 

Conceptos clave 

•  El comando chgrp cambia el grupo de propietarios

•  El comando chown cambia los usuarios propietarios

Cambio de Propietarios de Grupo y Archivos con chgrp 

En la lección anterior, aprendimos cómo modificar los permisos de un archivo y vimos

un ejemplo de cómo crear un archivo privado: el propietario del archivo podría leer el

archivo, pero nadie más lo puede hacer. ¿Qué sucedería si usted quisiera compartir elarchivo con un grupo de personas pero no con todos? o ¿qué pasaría si quisiera

modificarlo? En estas situaciones, usted hace uso del grupo propietario de archivo y de

los permisos de grupo.

En el cuaderno anterior, vimos cómo los usuarios de Linux pertenecen a una colección

de grupos. Para repasar, cada usuario pertenece a un grupo primario y también a un

número de grupos secundarios. Cuando se crea un archivo nuevo, el propietario delarchivo del grupo es establecido como el grupo primario del creador. En Red Hat

Enterprise Linux, éste sería usualmente el grupo privado del creador. Debido a que

usted es el único miembro, su grupo privado no es útil para trabajar en colaboración.

Para compartir el archivo, debe cambiar el propietario del archivo de grupo. Esto se

realiza con el comando llamadochgrp.

chgrp GROUP ARCHIVO...

Cambio de propietario de ARCHIVO(s) a GRUPO

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 10/31

  File Ownerships and Permissions 

10

El primer argumento especifica el nuevo grupo propietario de archivo, mientras que los

argumentos subsecuentes listan los archivos cuyo propietario de grupo se va a cambiar.

El propietario del grupo sólo lo puede cambiar el usuario dueño del archivo, y el usuario

debe ser un miembro del nuevo grupo de propietarios del archivo.

En el siguiente ejemplo, el usuario ventura es un miembro del grupo wrestler y del

grupo governor (aparte de su grupo privado, ventura). Primero, desea crear un plan de

impuestos que otros gobernadores deberían poder leer pero no modificar y al cual nadie

más debería tener acceso. Para este fin, debe realizar los siguientes pasos:

1.  Crear el archivo.

2.  Cambiar el propietario del archivo de grupo al grupo governor utilizando el

comando chgrp.

3.  Cambiar permisos en el archivo desde los permisos predeterminados rw-rw-r-- 

a rw-r----- utilizando el comando chmod.

[ventura@station ventura]$ id 

uid=2306(ventura) gid=2308(ventura)

groups=2308(ventura),302(wrestle),305(govern

or)

[ventura@station ventura]$ echo "Raise tax on oatmeal" > taxplan.txt

[ventura@station ventura]$ ls -l taxplan.txt 

-rw-rw-r-- 1 ventura ventura 21 Jan 16 09:55 taxplan.txt

[ventura@station ventura]$ chgrp governor taxplan.txt[ventura@station ventura]$ ls -l taxplan.txt 

-rw-rw-r-- 1 ventura governor 21 Jan 16 09:55 taxplan.txt

¿Pueden intercambiarse los pasos dos y tres?

Cambio de los propietarios de archivos con el comando chown 

En raras ocasiones, es necesario que el administrador cambie el usuario propietario del

archivo. Esto se puede hacer utilizando chown, cuya sintaxis es casi idéntica al del

comando chgrp:

chown USER ARCHIVO...

Cambie el propietario del (los) archivo(s) a USUARIO.

El primer argumento es el nombre del nuevo usuario del archivo y los argumentos

siguientes son los nombres de los archivos a cambiar. Sólo el usuario administrativo,

root, puede usar chown, si algún usuario pudiera cambiar el archivo del propietario, los

permisos de acceso no tendrían sentido.

Como root es el único que puede ejecutar el comando chown éste no se estudiará afondo.

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 11/31

  File Ownerships and Permissions 

11

¿Quién puede Modificar los Propietarios de archivos y los Permisos? 

En general, sólo el propietario de un archivo puede cambiar los permisos o propiedades

de archivo de un archivo. Además, cuando se utiliza el comando chgrp, el archivo delnuevo propietario del grupo, debe ser uno de los grupos subscritos del usuario. El

usuario administrativo, root, puede realizar cualquiera de estas operaciones. La tabla de

abajo resume estas habilidades.

Table 1. ¿Quién puede Modificar las Propiedades de Archivos y los Permisos? 

Operación Usuarios autorizados

chmod  root y el propietario del archivo

chgrp  root y el propietario de archivo (únicamente los grupos subscritos)

chown  sólo root

Ejemplos 

Manejo de Archivos de Grupos 

Considere que al usuario ventura, quien es miembro de los grupos secundarios governor

y wrestler (aparte de su grupo privado, ventura) le gustaría compartir sus planes de

lucha libre (wrestling) con el usuario hogan y con otros miembros del grupo wrestle. Sin

embargo, para impedir el acceso a los que no son miembros del grupo wrestler, élejecuta la siguiente secuencia de comandos.

[ventura@station ventura]$ echo "beat chest and scream." >

/tmp/plans.txt[ventura@station ventura]$ ls -l /tmp/plans.txt 

-rw-rw-r-- 1 ventura ventura 23 Jan 20 07:16 /tmp/plans.txt

[ventura@station ventura]$ chmod o-rw /tmp/plans.txt[ventura@station ventura]$ chgrp wrestle /tmp/plans.txt[ventura@station ventura]$ ls -l /tmp/plans.txt 

-rw-rw---- 1 ventura wrestle 23 Jan 20 07:16 /tmp/plans.txt

¿Pudo el usuario ventura haber usado el comando chmod o-r /tmp/plans.txt para lograr

el mismo efecto en la secuencia anterior?

Ahora al usuario hogan le gustaría agregarse a los planes de ventura. Como miembro

del grupo wrestle tiene permiso para hacerlo.

[hogan@station hogan]$ echo "throw large objects." >> /tmp/plans.txt[hogan@station hogan]$ cat /tmp/plans.txt 

beat chest and scream.

throw large objects.

Orgulloso de su contribución, a hogan le gustaría poner los planes a la vista de todos.Para ésto hace el archivo disponible para sólo lectura para todod el mundo.

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 12/31

  File Ownerships and Permissions 

12

[hogan@station hogan]$ chmod o+r /tmp/plans.txt 

chmod: changing permissions of `/tmp/plans.txt': Operation not

permitted

Aunque hogan es miembro del grupo wrestle, él no es el dueño del archivo. ¿Quiénesson los únicos dos usuarios en el sistema que pueden cambiar el propietario del grupo

del archivo?

Ejercicios en línea 

Compartir un archivo con un grupo 

Lab Exercise

Objetivo: Crear un archivo compartido entre miembros de un grupo determinado.

Tiempo estimado:15 minutos

Especificaciones 

Al remplazar el nombre de usuario con su nombre de usuario, cree el directorio

/tmp/nombre de usuario, si éste todavía no existe. Por ejemplo, si su nombre de

usuario es student cree el directorio /tmp/student.

Haga una lista de mercado en su editor de texto preferido, o simplemente desde la línea

de comandos. Grabe el archivo como /tmp/nombredeusuario/shopping.txt. Cambie

el propietario del grupo del archivo a wrestle.

1.  [student@station student]$ nano /tmp/student/shopping.txt 

2.  ... (compose and save your text) ...

3.  [student@station student]$ chgrp wrestle

/tmp/student/shopping.txt4.  [student@station student]$ cat /tmp/student/shopping.txt 

5.  eggs

6.  bacon

7.  milk

8.  M and M's

9.  [student@station student]$ ls -l /tmp/student/shopping.txt 

10.  -rw-rw-r-- 1 student wrestle 26 Jan 16 10:48/tmp/student/shopping.txt

Recuerde que su primera cuenta alterna es también miembro del grupo wrestle.

Conviértase en su primer usuario alterno (i.e. estudiante_a). Usted puede reiniciar la

sesión desde la consola virtual, desde la conexión de red, o simplemente con el

comando su - al usuario alterno.

11.  [student@station student]$ su - student_a 

12.  Password:

13.  [student_a@station student_a]$ groups 

14.  student_a wrestle physics

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 13/31

  File Ownerships and Permissions 

13

Como el usuario alterno, confirme que puede ver el archivo. También, observe que

puede modificar el archivo agregando un artículo más a la lista de mercado.

15. [student_a@station student_a]$ cat /tmp/student/shopping.txt 16.  eggs

17.  bacon

18.  milk

19.  M and M's

20.  [student_a@station student_a]$ echo "wheaties" >>/tmp/student/shopping.txt

21.  [student_a@station student_a]$ cat /tmp/student/shopping.txt 

22.  eggs

23.  bacon

24.  milk

25.  M and M's

26.  wheaties

Recuerde que su segunda cuenta alterna (i.e, estudiante_b) no es un miembro del grupo

wrestle. Trate de convertirse en segundo usuario alterno y repita los pasos anteriores.

Usted podrá ver el archivo pero no modificarlo.

27.  [student@station student]$ su - student_b 

28.  Password:

29.  [student_b@station student_b]$ groups 

30.  student_b emperors

31.  [student_b@station student_b]$ cat /tmp/student/shopping.txt 

32.  eggs

33.  bacon

34.  milk

35.  M and M's

36.  wheaties

37.  [student_b@station student_b]$ echo "chips" >>/tmp/student/shopping.txt 

38.  -bash: /tmp/student/shopping.txt: Permission denied

Question 1 

1.  El archivo /tmp/nombre de usuario/mercado.txt, de propiedad de su

usuario primario, perteneciente al grupo propietario wrestle, es de escritura para

los miembros del grupo wrestle y de sólo lectura para los demás.

Capítulo 4 Propiedad de Directorios y Permisos 

Conceptos clave 

•  Como los directorios también son archivos, tienen un usuario propietario de

archivo, un propietario de grupo y una serie de permisos.

•  Los permisos de lectura permiten al usuario listar el contenido de un directorio.

• Los permisos de escritura le dan al usuario el derecho de agregar y borrararchivos.

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 14/31

  File Ownerships and Permissions 

14

•  Los permisos de ejecución le dan derecho al usuario de acceder a un archivo

dentro del directorio.

•  Los permisos de directorio se pueden modificar con el comando chmod.

Permisos de Directorio 

Cuando alguien está usando un archivo dentro de Linux, generalmente puede estar

leyendo su información, modificándola o tratando de ejecutar el archivo como un script

o aplicación. Por lo tanto, los tipos de permiso que ya hemos visto, a saber: lectura (r),

escritura (w) y ejecución (x), tienen muchas interpretaciones.

Para Linux, un directorio es solo un tipo especial de archivo, por lo tanto, tambien tiene

las mismas clases de permisos lectura (r), escritura (w) y ejecución (x), un usuariopropietario, un grupo propietario y las mismas clases de acceso ((u)suario, (g)rupo,y

(o)tro). Sin embargo, es obvio que los directorios se utilizan de una manera diferente.

¿Tendría sentido si abriéramos un directorio en un editor tal como nano /home/elvis?

Debido a que la gente usa directorios diferentes, los permisos de directorio tienen

diferentes interpretaciones.

¿Qué hace la gente con los directorios? Hacen la lista del contenido con el comando ls.

Borran archivos desde ahí, crean nuevos archivos dentro de ellos, y mueven archivos de

un directorio a otro. Los permisos de directorio deberían dar derecho al propietario del

directorio de controlar quién puede realizar estas operaciones.

Linux considera que hacer la lista del contenido de un directorio, (como con el

comandols) es análogo a "leer" un directorio, y por lo tanto, una persona debe tener

permisos de lectura (r) para listar su contenido. Agregar o suprimir un archivo desde un

directorio se considera "escribir"el directorio y por lo tanto alguien debe tener permisos

de escritura (w) para barajar los archivos dentro del directorio.

No hay una analogía razonable para "ejecutar" un directorio, por eso Linux no trata de

definir una conducta similar. En cambio, el permiso de ejecución (x) controla la

conducta de los directorios, lo que no tiene nada que ver con el comando de ejecución.

Este permiso se conoce como el permiso "buscar", pero como el tercer permiso ya ha

sido llamado de "ejecución", para los archivos regulares, se utiliza la misma palabra (y

letra) para los directorios. Con el fin de referirse a cualquier archivo dentro de un

directorio, (incluyendo subdirectorios), un usuario debe tener permisos de ejecución (x).

La primera fila de la siguiente tabla parece familiar. Esta repite cómo interpretar los

permisos para archivos regulares. Se ha agregado una fila para directorios para

comparar y contrastar la interpretación del permiso de ambos tipos de archivo.

Table 1. Permisos para archivos regulares y directorios 

Lectura(r) escritura (w) ejecución (X)archivo Ver el archivo Modificar el Usar el archivo como comando

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 15/31

  File Ownerships and Permissions 

15

Lectura(r) escritura (w) ejecución (X)

regular  archivo

directorio  lista el contenido deldirectorio añade o borraarchivos "busca" un archivo conocidodentro del directorio

Ejemplos 

Propiedades predeterminadas para los directorios nuevos 

Los archivos normales recién creados son de lectura para todos, pero sólo el usuario y el

grupo propietario del archivo pueden modificarlos. ¿Cómo se manejan los directorios

recién creados? Estudie el caso de nero, quien está recolectando información del censo

de varias provincias. El decide crear un directorio llamado /tmp/censuspara guardartodos los datos.

[nero@station nero]$ mkdir /tmp/census[nero@station nero]$ ls -ld /tmp/census/ 

drwxrwxr-x 2 nero nero 4096 Jan 16 15:33 /tmp/census/

(¿Por qué nero necesitó agregar la opción -d al comandols?)

Observe que los permisos predeterminados para los directorios recién creados son

rwxrwxr-x. Estos permisos tienen las siguientes implicaciones:

1.  Cualquiera puede buscar archivos dentro del directorio.

2.  Todos pueden listar los archivos dentro del directorio.

3.  Solo el propietario de directorio (o miembros de un grupo propietario) puede

añadir o borrar archivos dentro del directorio.

Por ejemplo, julius decide que le gustaría hojear la información que tiene nero sobre el

censo. Observe que julius puede navegar los directorios y los archivos dentro de losdirectorios, pero debido a los permisos por defecto de un directorio, él no puede agregar

ni suprimir nuevos archivos. A causa de los permisos predeterminados de archivo, él

puede ver, pero no modificar el contenido de los archivos.

[julius@station julius]$ ls -al /tmp/census/ 

total 20

drwxrwxr-x 2 nero nero 4096 Jan 16 15:48 .

drwxrwxrwt 23 root root 4096 Jan 16 15:45 ..

-rw-rw-r-- 1 nero nero 42 Jan 16 15:48 egypt.dat

-rw-rw-r-- 1 nero nero 42 Jan 16 15:48 gaul.dat

-rw-rw-r-- 1 nero nero 42 Jan 16 15:47 iberia.dat

[julius@station julius]$ rm /tmp/census/iberia.dat 

rm: remove write-protected regular file `/tmp/census/iberia.dat'? y

rm: cannot remove `/tmp/census/iberia.dat': Permission denied

[julius@station julius]$ echo "110 CE 42" > /tmp/census/thrace.dat 

-bash: /tmp/census/thrace.dat: No such file or directory

[julius@station julius]$ cat /tmp/census/gaul.dat 

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 16/31

  File Ownerships and Permissions 

16

110 CE 45430

120 CE 53200

130 CE 55820

[julius@station julius]$ echo "140 CE 583420" >>

/tmp/census/gaul.dat -bash: /tmp/census/gaul.dat: Permission denied

Directorios de inicio 

En Red Hat Enterprise Linux, un directorio de inicio no sigue los permisos

predeterminados.

[nero@station nero]$ ls -ld ~ 

drwx------ 3 nero nero 4096 Jan 16 16:04 /home/nero

[nero@station nero]$ ls -l /home/ 

total 120

drwx------ 3 alice alice 4096 Jan 15 08:04 alicedrwx------ 3 augustus augustus 4096 Jan 14 15:22 augustus

drwx------ 3 austin austin 4096 Jan 14 15:22 austin

drwx------ 3 blondie blondie 4096 Jan 14 13:46 blondie

...

En Red Hat Enterprise Linux, los directorios de inicio están "protegidos". Por defecto,

sólo el usuario propietario de un directorio de inicio tiene permisos de buscar.

[nero@station nero]$ ls -l ~augustus 

ls: /home/augustus: Permission denied

¿Ha notado que la mayoría de nuestros ejercicios que involucran a varios usuarios

entrando a un archivo han utilizado el directorio /tmp/nombredeusuario en lugar del

directorio de inicio del usuario? ¿Por qué razón no hemos utilizado el directorio de

inicio del usuario?

Creación de un directorio ~/pub 

Ahora a Nero le gustaría hacer pública su información sobre el censo. Usualmente, en

Red Hat Enterprise Linux, hay sólo dos lugares en donde los usuarios pueden crear

archivos, el directorio /tmp y ~ (el directorio de inicio del usuario). En el primer

ejemplo, nero escoge crear un directorio censusdentro de /tmp. Sin embargo, en RedHatEnterprise Linux, el directorio /tmp es "barrido.". Si en 10 días no se ha tenido

acceso a un archivo dentro de /tmp, éste se borra del sistema. Nero necesita buscar un

sitio mejor.

Con el fin de crear un sitio accesible al público permanente para sus datos del censo,

nero escoge crear un subdirectorio público dentro de su directorio de inicio.

Convencionalmente, un subdirectorio como tal en Linux, se llama pub. Como las

siguientes secuencias lo mostrarán, compartir archivos desde el directorio de inicio del

usuario, no es tan fácil como crear un directorio leible (r) o ejecutable (x) por todo el

mundo.

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 17/31

  File Ownerships and Permissions 

17

Primero, nero crea el directorio ~/puby copia en él la información del censo desde

/tmp/census.

[nero@station nero]$ mkdir pub[nero@station nero]$ cp /tmp/census/* pub[nero@station nero]$ ls -al /home/nero/pub/ 

total 20

drwxrwxr-x 2 nero nero 4096 Jan 16 16:13 .

drwx------ 4 nero nero 4096 Jan 16 16:12 ..

-rw-rw-r-- 1 nero nero 42 Jan 16 16:13 egypt.dat

-rw-rw-r-- 1 nero nero 42 Jan 16 16:13 gaul.dat

-rw-rw-r-- 1 nero nero 42 Jan 16 16:13 iberia.dat

Recuerde que "."siempre se refiere al directorio actual en este

caso/home/nero/pub.

Recuerde que ".." siempre se refiere al directorio padre actual en este caso

/home/nero.

Nero revisa concienzudamente los permisos en el directorio y los archivos recién

creados. En /home/nero/pub encuentra los permisos de rwxrwxr-x, lo que implica queotros pueden buscar una lista de archivos desde el directorio. Los archivos mismos de

datos tienen permisos de rw-rw-r--, es decir que otros tienen acceso a los archivos.Como todo parece estar en orden, le dice a julius dónde encontrar la información.

Interesado en los datos, julius trata de tener acceso a los archivos. Infortunadamente, no

todo sale bien:

[julius@station julius]$ cat /home/nero/pub/egypt.dat 

cat: /home/nero/pub/egypt.dat: Permission denied

¿Qué ha olvidado nero? Recuerde que para tener acceso al archivo dentro de un

directorio, incluyendo los subdirectorios, un usuario debe haber buscado permisos para

el directorio. Los permisos en /home/nero/pub están correctos, pero observe los

permisos en /home/nero (".." en la lista de arriba o listados de nuevo a continuación):

[nero@station nero]$ ls -ld /home/nero/ 

drwx------ 4 nero nero 4096 Jan 20 14:05 /home/nero/

Si julius pudiera tener acceso al archivo /home/nero/pub, todo estaría bien. Pero como  julius no tiene los permisos de búsqueda para /home/nero, no puede tener acceso a

/home/nero/pub. Para crear un directorio accesible al público dentro de un directorio

de inicio, el usuario debe permitir a la gente buscar en su directorio de inicio. Nero

arregla el problema en la siguiente secuencia de comandos.

[nero@station nero]$ chmod o+x /home/nero/[nero@station nero]$ ls -al /home/nero/pub 

total 20

drwxrwxr-x 2 nero nero 4096 Jan 16 16:13 .

drwx-----x 4 nero nero 4096 Jan 16 16:14 ..

-rw-rw-r-- 1 nero nero 42 Jan 16 16:13 egypt.dat

-rw-rw-r-- 1 nero nero 42 Jan 16 16:13 gaul.dat-rw-rw-r-- 1 nero nero 42 Jan 16 16:13 iberia.d

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 18/31

  File Ownerships and Permissions 

18

  Ahora, otros tienen permisos de ejecución (x) en /home/nero.

 julius trata de nuevo de examinar el archivo. Como los permisos en /home/nero/pub le

dan acceso de lectura(r) y ejecución (x) a otros, julius busca archivos y obtiene unlistado de directorio.

[julius@station julius]$ cat /home/nero/pub/egypt.dat 

110 CE 45430

120 CE 53200

130 CE 55820

[julius@station julius]$ ls /home/nero/pub 

egypt.dat gaul.dat iberia.dat

En contraste, el directorio de inicio de nero, /home/nero, tiene ahora permisos de rwx-

----x, permitiéndole a julius sólo permisos de ejecución(x). Por lo tanto, si julius ya

sabe que un archivo está en el directorio (porque, por ejemplo, nero le dijo que éste

estaba allí), julius puede obtenerlo, no obstante, julius no puede navegar el contenido de

un directorio con el comando ls.

[julius@station julius]$ ls /home/nero 

ls: /home/nero: Permiso negado

Protección de subdirectorios de inicio 

Es frecuente que los usuarios permitan a otros usuarios el acceso a sus directorios de

inicio (considere, el ejemplo anterior). Al permitir a otros ejecutar (x), pero no lee(r) en

su directorio de inicio, otros usuarios deben saber que un directorio existe dentro del

directorio de inicio para tener acceso a éste. Debido a que otros usuarios no pueden usar

el comando ls para descubrir el contenido de su directorio de inicio, los directorios de

inicio de los usuarios permanecen siendo privados y sólo las partes que ellos quieran

exponer estarán disponibles a otros usuarios.

Aunque el no añadir permisos de lectura (r) al directorio de inicio brinda alguna

protección contra otros usuarios que estén navegando, ésta no es infalible. Otros

usuarios pueden aún "adivinar" el contenido de un directorio del cuál tienen permisos

para ejecutar (x) pero no de lectura (r). Por ejemplo, los usuarios usualmente crean un

directorio llamado ~/mail, para almacenar mensajes. Suponga que nero le ha dado aotros permiso de ejecución (x) a su directorio de inicio (como en el ejemplo anterior), y

más tarde crea un directorio ~/mail. Si elvis fuera a adivinar si dicho directorio existe,

los permisos por defecto en ~nero/maille permitirían navegar sus contenidos. Esto se

muestra en la siguiente transcripción:

[nero@station nero]$ ls -ld ~ 

drwx-----x 3 nero nero 4096 Jan 20 16:41 /home/nero

[nero@station nero]$ mkdir mail[nero@station nero]$ cal 2002 > mail/sent

[nero@station nero]$ ls -al mail 

total 12

drwxrwxr-x 2 nero nero 4096 Jan 20 16:41 .drwx-----x 4 nero nero 4096 Jan 20 16:41 ..

-rw-rw-r-- 1 nero nero 2027 Jan 20 16:41 sent

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 19/31

  File Ownerships and Permissions 

19

[elvis@station elvis]$ cat ~nero/mail/sent 

2002

January February March

Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa1 2 3 4 5 1 2 1 2

6 7 8 9 10 11 12 3 4 5 6 7 8 9 3 4 5 6 7 8 9

13 14 15 16 17 18 19 10 11 12 13 14 15 16 10 11 12 13 14 15 16

20 21 22 23 24 25 26 17 18 19 20 21 22 23 17 18 19 20 21 22 23

27 28 29 30 31 24 25 26 27 28 24 25 26 27 28 29 30

31

...

¿Cuál es la lección que nero debe aprender? Si usted permite a otros el acceso a su

directorio de inicio como es frecuente el caso, debe considerar los permisos que hay en

los subdirectorios recién creados. Por defecto, si alguien puede adivinar el nombre deldirectorio, también será capaz de navegar un subdirectorio.

La solución de nero sería cancelar su subdirectoriomail.

[nero@station nero]$ chmod o-rx mail 

Ejercicios en línea 

Creación de directorios públicos para grupos distintos 

Lab Exercise

Objetivo: Crear directorios accesibles a grupos dentro del directorio de inicio de un

usuario

Estimated Time: 30 mins.

Especificaciones 

Su cuenta debería ser miembro de dos grupos secundarios, music y wrestle. aparte de su

grupo privado. Además, su primera cuenta alterna debe ser un miembro de los grupos

wrestle y physics, mientras que su tercera cuenta alterna debería ser un miembro del

grupo music.

[student@station student]$ groups student 

student : student wrestle music

[student@station student]$ groups student_a 

student_a : student_a wrestle physics

[student@station student]$ groups student_c 

student_c : student_c music

Desde dentro de su directorio de inicio, usted quisiera compartir información con otros

músicos y luchadores, pero no le gustaría que los músicos vieran la información de los

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 20/31

  File Ownerships and Permissions 

20

luchadores y vice versa. Usted preferiría que un grupo ni siquiera se diera cuenta de la

existencia de otro directorio de grupo. Adopte el siguiente plan:

1.  Permita que otros tengan acceso a archivos en su directorio de iniciootorgándoles permisos de "búsqueda".

2.  Cree un sudirectorio públicamente fácil de buscar, pero que no se pueda listar,

en su directorio de inicio, ~/pub.

3.  Cree dos subdirectorios de ~/pub, que se puedan buscar y listar sólo para los

miembros de los grupos music ywrestle, respectivamente: ~/pub/music y

~/pub/wrestle. Observe que usted necesitará tener en cuenta a los propietarios

de grupo de los directorios como también los permisos.

4.  Cree los archivos ~/pub/music/lyricsy ~/pub/wrestle/plan. Los miembros

de los grupos music y wrestle deberían poder leer y escribir respectivamente.

Cuando haya terminado, usted debería poder confirmar la conducta apropiada utilizandosus cuentas alternas (student_a y student_c).

[student_a@station student_a]$ ls /home/student/pub/wrestle 

plan

[student_a@station student_a]$ cat /home/student/pub/wrestle/plan 

pin the other guy

[student_a@station student_a]$ ls /home/student/pub 

ls: /home/student/pub: Permission denied

[student_c@station student_c]$ ls ~student/pub/music 

lyrics

[student_c@station student_c]$ cat ~student/pub/music/lyrics 

row, row, row your goat[student_c@station student_c]$ ls ~student/pub 

ls: /home/student/pub: Permission denied

Deliverables 

Question 1 

1.  Un directorio de inicio de búsqueda para todos y donde sólo usted puede listarlo.

2.  ~/pub, un directorio de búsqueda para todos y de listado sólo para usted.

3.  ~/pub/music, un directorio de búsqueda y que solo los miembros del grupomusic pueden listar.

4.  ~/pub/music/lyrics , un archivo de lectura y escritura para todos los miembros

del grupo music.

5.  ~/pub/wrestle, un directorio de búsqueda y que solo los miembros del grupo

wrestle pueden listar.

6.  ~/pub/wrestle/plan , un archivo de lectura y escritura para los miembros del

grupo wrestle.

Ayudas 

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 21/31

  File Ownerships and Permissions 

21

La siguiente serie de comandos demuestra una solución posible para hacer el directorio

~/pub/music.

[student@station student]$ ls -ld ~ drwx------ 3 student student 4096 Jan 20 15:17 /home/student

[student@station student]$ chmod o+x ~[student@station student]$ mkdir ~/pub[student@station student]$ chmod o-r ~/pub[student@station student]$ ls -al ~/pub 

total 8

drwxrwx--x 2 student student 4096 Jan 20 15:17 .

drwx-----x 4 student student 4096 Jan 20 15:17 ..

[student@station student]$ mkdir ~/pub/music[student@station student]$ chmod o-rx ~/pub/music/

[student@station student]$ chgrp music ~/pub/music[student@station student]$ ls -al ~/p 

total 16

Protección de subdirectorios dentro del directorio de inicio 

Lab Exercise

Objetivo: Proteger un subdirectorio recién creado dentro de su directorio de

inicio, de una navegación no intencionada.

Estimated Time: 10 mins.

Estos ejercicios asumen que otros ya tienen permisos de ejecución (x) en su directorio

de inicio. Cree un subdirectorio memos en su directorio de inicio y modifique sus

permisos de tal manera que otros en el sistema no tengan acceso al directorio. Cree un

archivo dentro del directorio y use una de las cuentas alternas para confirmar que otros

usuarios no puedan acceder al archivo.

Solución:La siguiente serie de comandos demostró una solución posible para las

especificaciones anteriores (la salida asume que usted acaba de completar el ejercicio

anterior).

[student@station student]$ ls -ld ~ drwx-----x 4 student student 4096 Jan 20 16:50 /home/student

[student@station student]$ mkdir memos[student@station student]$ chmod o-rx memos/[student@station student]$ ls -l 

total 8

drwxrwx--- 2 student student 4096 Jan 20 16:50 memos

drwxrwx--x 4 student student 4096 Jan 20 15:18 pub

[student@station student]$ echo "feed cat" > memos/todo [student_a@station student_a]$ ls ~student/memos 

ls: /home/student/memos: Permission denied

[student_a@station student_a]$ cat ~student/memos/todo 

cat: /home/student/memos/todo: Permission denied

Deliverables 

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 22/31

  File Ownerships and Permissions 

22

Question 1 

1.  Un directorio llamado~/memos, que sólo el propietario del directorio puedenavegar.

Capítulo 5 chmod Revisitado: Notación octal 

Conceptos clave 

•  El comando chmod puede usar un sintaxis octal alterna

•  La sintaxis octal es a menudo más rápida y más motivante.

¿Por qué una sintaxis diferente? 

En las lecciones anteriores, el comandochmod se utilizó para modificar permisos de un

archivo utilizando una sintaxis simbólica como la siguiente:

[student@station student]$ chmod og-r diary 

Esta sintaxis tiene algunas ventajas y desventajas. Como la sintaxis es muy legible, la

intención de un comando es bastante evidente: el estudiante no quiere que otros usuarios

lean el archivo diary.. ¿Cuáles son los permisos resultantes en diary? Un problema desintaxis es que, al saber que sólo este comando fue ejecutado, usted no puede decir si el

archivo tiene permisos de escritura para los miembros del grupo o para otros. Sin saber

los permisos originales, usted no puede saber.

Esta lección ilustrará una sintaxis octal alterna para el comando chmod, la cual resuelve

estos problemas:

[student@station student]$ chmod 600 diary 

Después de aprender la sintaxis, usted sabría que, al ejecutar el comando anterior, el

archivo diary tendría permiso de rw-------. Como un beneficio agregado, una vezaprendida, la sintaxis octal tiende a ser más rápida para el usuario.

¿De dónde salió 600? 

Recuerde que un archivo tiene tres tipos diferentes de permisos (lectura (r), escritura (w)

y ejecución (x), para las tres clases de usuario: usuario propietario (u), grupo propietario

(g), y otro (o)). Con la notación octal, cada clase de acceso obtiene un dígito, las

"centenas" para el usuario (u); las "decenas" para el grupo (g) y las "unidades" para otro

(o) . A cada tipo de permiso se le concede un valor: (r) tiene 4, (w) tiene 2, y (x) tiene 1.

Los dígitos de una notación octal son la suma de los permisos concedidos para cada

clase de acceso. Los siguientes ejemplos demuestran cómo se traducen los números

octales a una sintaxis convencional de permisos.

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 23/31

  File Ownerships and Permissions 

23

 

755 = rwxr-xr-x

7 = 4 + 2 + 1 = rwx for (u)ser

5 = 4 + 0 + 1 = r-x for (g)roup

5 = 4 + 0 + 1 = r-x for (o)ther

640 = rw-r-----

6 = 4 + 2 + 0 = rw- for (u)ser

4 = 4 + 0 + 0 = r-- for (g)roup

0 = 0 + 0 + 0 = --- for (o)ther

701 = rwx-----x

7 = 4 + 2 + 1 = rwx for (u)ser

0 = 0 + 0 + 0 = --- for (g)roup

1 = 0 + 0 + 1 = --x for (o)ther

Esta notación se llama la notación "octal" debido a que cada dígito tiene 8 posibles

valores(de 0 a 7).

Modos de archivos 

Una vez aprendida, la notación octal brinda una forma rápida de referirse a los permisosde archivo. Por ejemplo, los administradores experimentados de Linux a menudo se

referirán a un permiso de archivo de "644" o de un directorio de "755". En Unix, al

estado de los permisos de archivo se les conoce como el modo de un archivo. En

particular, este término se utiliza para referirse a los permisos de archivo de notación

octal. Por ejemplo, un administrador de sistema podría decir que los "Directorios se

crean con un modo predeterminado de 755".

Ejemplos 

Creación de un directorio ~/pub (utilizando la notación octal) 

Al usuario elvis le gustaría establecer un directorio compartido ~/drafts. Quisiera que

los miembros del grupo music tuvieran libre acceso al directorio y que otros usuarios

no. Al utilizar el comando chmod, elvis utilizará la notación octal.

[elvis@station elvis]$ mkdir ~/drafts[elvis@station elvis]$ chmod 701 ~

[elvis@station elvis]$ chmod 770 ~/ 

[elvis@station elvis]$ echo "One for the honey" > ~/drafts/lyrics

[elvis@station elvis]$ chgrp -R music drafts/ [elvis@station elvis]$ ls -al drafts/ 

total 12

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 24/31

  File Ownerships and Permissions 

24

drwxrwx--- 2 elvis music 4096 Feb 14 10:16 .

drwx------ 5 elvis elvis 4096 Feb 14 10:15 ..

-rw-rw-r-- 1 elvis music 18 Feb 14 10:16 lyrics

En este uso del comandochmod, elvis pudo ajustar los permisos de grupo (g)y de

otro (o) con un simple comando. ¿Cómo habría tenido que hacer esto utilizando

una notación simbólica?

Observe que el comando chgrp -Rle dice a chgrp que vaya de modo recursivo por

un directorio (y todos sus subdirectorios). Los comandos chmod y chown tienen

esta opción.

"." siempre se refiere al directorio actual en este caso /home/elvis/drafts .

Recuerde que ".." siempre se refiere al directorio padre actual en este

caso/home/elvis.

Mal uso de la notación octal 

El usuario einstein tiene la siguiente serie de artículos, algunos ya han sido publicados,

otros no. Todos los archivos y direcciones tienen permisos predeterminados.

papers/

|-- published/

| `-- relativity

`-- unpublished/

|-- eismcsquared

|-- photoelectric_effect

`-- unlikely/

`-- time_travel

El usuario einstein ahora decide cambiar los permisos en todos sus archivos dentro desu directorio sin publicar, para que otros usuarios no puedan leerlos. Con el fin de

ahorrar tiempo, einstein decide utilizar la forma recursiva del comando chmod.

[einstein@station einstein]$ chmod -R 660 papers/unpublished/* 

chmod: failed to get attributes of

`papers/unpublished/unlikely/time_travel': Permission denied

[einstein@station einstein]$ ls papers/unpublished/unlikely/ 

ls: papers/unpublished/unlikely/time_travel: Permission denied

¿En qué se ha equivocado einstein? ¿Por qué ni siquiera puede ver su propio directorio?Preste atención a los permisos de los archivos en papers/unpublished:

[einstein@station einstein]$ ls -l papers/unpublished/ 

total 4

-rw-rw---- 1 einstein einstein 0 Feb 14 10:46 eismcsquared

-rw-rw---- 1 einstein einstein 0 Feb 14 10:45

photoelectric_effect

drw-rw---- 2 einstein einstein 4096 Feb 14 10:46 unlikely

Cuando einstein ejecutó el comando chmod -R 660 papers/unpublished/*, el comando

chmod hizo lo que debe hacer. Estableció el modo de cada archivo como 660

(incluyendo el directorio unlikely). Luego trató de ir en forma recursiva al directorio

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 25/31

  File Ownerships and Permissions 

25

unlikely, pero como el directorio ahora tiene el modo 660, einstein ya no tiene

permiso de acceso a su propio directorio y el comando ¡falla!

¿Qué lección nos deja este ejemplo? Los directorios y archivos regulares tienendiferentes permisos "razonables". Por ejemplo, los directorios deben tener establecido el

permiso de ejecutar (x), mientras que, por lo general, los archivos regulares no.

Infortunadamente, el comando chmod -R no distingue entre archivos y directorios.

(Con el fin de obtener el resultado deseado, einstein podría utlilizar el comando find 

para buscar de modo recursivo. Dicho comando find se presentará en la siguiente

sección).

Ejercicios en línea 

Administración de Permisos en Grupos de Archivos 

Lab Exercise

Objetivo: Administrar permisos en un grupo grande de archivos, utilizando la

notación octal.

Estimated Time: 30 mins.

Configuración 

Su segunda cuenta alterna (student_b) debe ser miembro del grupo emperors. Inicie lasesión bajo esa cuenta y cree un directorio ~/reports y ejecute el comando cd en ese

directorio.

[student_b@station student_b]$ groups 

student_b emperors

[student_b@station student_b]$ mkdir reports[student_b@station student_b]$ cd reports 

Use el siguiente comando "mágico" para crear un número grande de archivos en el

directorio actual. La sintaxis de paréntesis que está utilizando será presentada en un

cuaderno posterior.

[student_b@station reports]$ touch{2001,2002,2003}.{q1,q2,q3,q4}.{data,draft,final}[student_b@station reports]$ ls 

2001.q1.data 2001.q3.final 2002.q2.draft 2003.q1.data

2003.q3.final

2001.q1.draft 2001.q4.data 2002.q2.final 2003.q1.draft

2003.q4.data

2001.q1.final 2001.q4.draft 2002.q3.data 2003.q1.final

2003.q4.draft

2001.q2.data 2001.q4.final 2002.q3.draft 2003.q2.data

2003.q4.final

2001.q2.draft 2002.q1.data 2002.q3.final 2003.q2.draft2001.q2.final 2002.q1.draft 2002.q4.data 2003.q2.final

2001.q3.data 2002.q1.final 2002.q4.draft 2003.q3.data

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 26/31

  File Ownerships and Permissions 

26

2001.q3.draft 2002.q2.data 2002.q4.final 2003.q3.draft

Observe que todos los archivos tienen permisos predeterminados.

Especificaciones 

Desea implementar los siguientes principios 

1.  Todos los archivos (incluyendo directorios) deberían pertenecer al grupo

emperors.

2.  Todos los archivos que terminen en .data contienen datos crudos. Cualquiera

pueda leer los archivos, pero solo usted tiene derecho a modificarlos.

3.  Todos los archivos que terminen en .draft contienen borradores de trabajo de

sus informes, en los cuales usted desea ayudar. Los miembros del grupo

emperors deberían poder leer y modificar los archivos, pero otros usuarios nodeberían tener acceso a ellos.

4.  Todos los archivos terminados en .finalson borradores finales. Usted desea

moverlos a un directorio dedicado ~/reports/final. Solo los miembros delgrupo emperors deberían tener accceso al subdirectorio, poder listar el contenido

del directorio y poder leer los informes (pero no modificarlos).

Use el comando chmod con una notación octal para obtener estos resultados.

Question 1 

El directorio ~/reports y todos sus archivos y directorios subyacentes, deberíanpertenecer al grupo propietario emperor.

1.  Un directorio ~/reports de libre acceso y lectura.

2.  Una colección de archivos ~/reports/*.data, de lectura para todos, pero sólo

con permiso de escritura para usted.

3.  Una serie de archivos ~/reports/*.draft, de lectura y escritura sólo para

miembros del grupo emperor.

4.  Un directorio ~/reports/final de acceso y lectura solo para miembros del

grupo emperor.5.  Una colección de archivos ~/reports/final/*.final, de escritura y lectura

para el propietario del archivo, pero de lectura y de no escritura para los

miembros del grupo emperor. Otros usuarios no tendrían acceso.

Possible Solution 

The following sequence of commands provides one possible solution to this exercise.

[student_b@station reports]$ chmod 644 *.data[student_b@station reports]$ chmod 660 *.draft[student_b@station reports]$ chmod 640 *.final

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 27/31

  File Ownerships and Permissions 

27

[student_b@station reports]$ mkdir final[student_b@station reports]$ chmod 750 final/[student_b@station reports]$ mv *.final final/

[student_b@station reports]$ chgrp -R emperors .

Control de las permisos predeterminados con umask 

En las lecciones anteriores vimos que los archivos recién creados tienen un modo por

defecto de 664 (rw-rw-r--), lo que implica que todos pueden leer el archivo, pero

únicamente el propietario de archivo puede modificar un archivo recién creado.

Igualmente, los directorios recién creados tienen un modo por defecto de 775

(rwxrwxr-x), implicando que cualquier persona puede acceder o navegar en eldirectorio, pero sólo el propietario del directorio puede añadir o borrar archivos.

Los permisos predetermiandos de los archivos recién creados se pueden alterar a través

de un concepto Unix estándar llamado umask. Cada proceso, incluyendo el comando de

shell bash, tiene un número octal de tres dígitos, el cual se utiliza para "desenmascarar".

La umask está compuesta justo como un modo octal, pero el significado es invertido.

Como un modo octal, cada clase de acceso es representado por un sólo dígito: (u)suario

está en las "centenas", (g)rupo propietario en las "decenas" y (o)tros en las "unidades".

Como un modo octal, cada tipo de permiso tiene un valor, 4 para lectura (r), 2 para

escritura (w), y 1 para ejecución(x). Sin embargo, a diferencia de los modos octales, la

umask está compuesta por valores de permisos no deseados.

Permisos predeterminados para archivos 

Con el fin de determinar los permisos para archivos recién creados, el kernel de Linux

comienza con un modo global por defecto de 666, (rw-rw-rw). El kernel luego aplica la

umask para el proceso que creó el archivo. Todos los valores asignados en la umask son

"revelados" de los permisos predeterminado de 666. Por ejemplo, una umask de 002

resultaría en permisos por defecto de 664:

kernel default: 666 --> rw-rw-rw-

umask: 002 --> -------w-

-----------------------------------------

default permissions: 664 --> rw-rw-r--

Otro ejemplo, una umask de 077 resultaría en permisos por defecto de 600:

kernel default: 666 --> rw-rw-rw-

umask: 077 --> ---rwxrwx

-----------------------------------------

default permissions: 600 --> rw-------

Al determinar los permisos por defecto, cualquier permiso que sea asignado en la umask 

es "desenmascarado" del kernel predeterminado.

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 28/31

  File Ownerships and Permissions 

28

Permisos predeterminados para directorios 

Los permisos predeterminados para los directorios se crean utilizando la misma técnica,

excepto que el modo por defecto del kernel para directorio es 777 (rwxrwxrwx). Porejemplo, una umask de 002 resultaría en permisos por defecto para directorios de 775:

kernel default: 777 --> rwxrwxrwx

umask: 002 --> -------w-

-----------------------------------------

default permissions: 775 --> rwxrwxr-x

Igualmente, una umask de 077 resultaría en permisos predeterminados de 700:

kernel default: 777 --> rwxrwxrwx

umask: 077 --> ---rwxrwx

-----------------------------------------

default permissions: 700 --> rwx------

Observe que, en ambos casos, una umask de 002 tiene el mismo efecto general para los

archivos y directorios. Cualquiera puede leer, pero sólo el propietario puede modificar.

Igualmente, una umask de 077 tiene el mismo efecto general tanto en archivos como en

directorios: el usuario propietario puede leer y modificar, pero nadie más tiene acceso.

Modificación de la umask de shell: el comando umask 

La umask de shell bash se puede examinar y modificar con el comando umask. Cuando

se llama sin argumentos, el comando umask reporta la umask de shell actual. Cuando se

llama con una umask octal como un único argumento, se le asigna a la umask de shell el

valor especificado.

[student@station student]$ umask 

0002

[student@station student]$ umask 077[student@station student]$ umask 

0077

(Observe que, en la salida, la umask se reporta como un número octal de cuatro dígitos.

Por ahora, el "0" del comienzo se puede ignorar (su significado será más claro en la

siguiente lección).

Ejemplos 

Uso del comando umask para crear archivos compartidos por grupos 

En la siguiente secuencia, blondie y otros músicos están colaborando con la letra de una

canción. A blondie le gustaría crear varios archivos que los miembros del grupo demusic pueden ver y modificar, pero que nadie más puede leer o escribir. Una posibilidad

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 29/31

  File Ownerships and Permissions 

29

sería crear los archivos y luego cambiar los permisos de archivo con chmod. En

cambio, blondie va a utilizar el comando umaskpara cambiar sus permisos por defecto

de shell en los archivos recién creados.

[blondie@station blondie]$ umask 

0002

[blondie@station blondie]$ umask 007[blondie@station blondie]$ umask 

0007

[blondie@station blondie]$ echo "Twinkle, twinkle, little star" >song1.txt[blondie@station blondie]$ echo "Bah, bah, black sheep" > song2.txt[blondie@station blondie]$ echo "Mary had a little lamb" > song3.txt[blondie@station blondie]$ chgrp music song*.txt

[blondie@station blondie]$ ls -l 

total 12-rw-rw---- 1 blondie music 30 Feb 20 14:20 song1.txt

-rw-rw---- 1 blondie music 22 Feb 20 14:20 song2.txt

-rw-rw---- 1 blondie music 23 Feb 20 14:20 song3.txt

Observe que la umask de shell de 007 "desenmascaró" los permisos que hubiesenpodido ser asignados por (o)tros.

Utilización de ~/.bashrc para cambiar automáticamente la umask de la shell bash 

El emperador Nero, en un estado de paranoia está sospechando que los otros usuarios le

están mirando sus archivos. Quisiera configurar su shell bash de tal forma que cada vez

que inicie, la umask de la shell sea establecida automáticamente como 077. Hará esto

editando el archivo ~/.bashrc, el cual por lo general, existe por defecto en el directorio

de inicio del usuario.

Siempre que se inicia una nueva shell bash, los comandos listados en el archivo

especialmente nombrado ~/.bashrc se ejecutan como si fueran escritos desde la línea

de comandos. Al anexar "umask 077" al archivo ~/.bashrc de nero, él configurará su

shell de tal forma que la umask de shell automáticamente será configurada como 077 al

iniciar.

En la siguiente secuencia, nero examina primero, luego agrega una nueva línea ydespués reexamina su archivo ~/.bashrc. Por ahora, no se preocupe por el contenidooriginal del archivo, sólo observe que el archivo modificado ejecuta el umask como su

último comando.

[nero@station nero]$ cat ~/.bashrc 

# .bashrc

# User specific aliases and functions

# Source global definitions

if [ -f /etc/bashrc ]; then

. /etc/bashrcfi

[nero@station nero]$ echo "umask 077" >> ~/.bashrc

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 30/31

  File Ownerships and Permissions 

30

[nero@station nero]$ cat ~/.bashrc 

# .bashrc

# User specific aliases and functions

# Source global definitions

if [ -f /etc/bashrc ]; then

Ahora que nero ha modificado su archivo ~/.bashrc, su umask se establecerá

automáticamente como 077 cada vez que comience una nueva shell. Cuando nero sale y

luego reinicia, los archivos recién creados ahora tienen permisos por defecto de 600

(rw-------).

Red Hat Enterprise Linux release 3.0 (Taroon)

Kernel 2.4.20-4-ES on an i686

station login: nero Password:

[nero@station nero]$ umask 

0077

[nero@station nero]$ echo "All of Gaul is divided into three parts" >notes.txt[nero@station nero]$ ls -l 

total 4

-rw------- 1 nero nero 40 Feb 20 14:44 notes.txt

Ejercicios en línea 

Cambio de los permisos predeterminados de la shell bash. 

Lab Exercise

Objetivo: Uso del archivo ~/.bashrc para cambiar los permisos por defecto de lashell bash.

Estimated Time: 10 mins.

Especificaciones 

Cada vez que inicie una shell bash, el contenido del archivo ~/.bashrcse ejecutará

como si los hubiera escrito en la línea de comandos. Este archivo se utiliza a menudo

para personalizar la conducta predeterminada de bash.

Si quiere que su umask de shell por defecto sea cambiada automáticamente cada vez

que inicia una sesión, agregue una línea al final de su archivo ~/.bashrc, el cual

establece la umask de la shell. Los archivos recién creados deberían ser de lectura para

todos, pero de escritura únicamente para el usuario propietario por defecto.

Question 1 

8/8/2019 Semana 2 y 3 - File Owner Ships and Per Missions

http://slidepdf.com/reader/full/semana-2-y-3-file-owner-ships-and-per-missions 31/31

  File Ownerships and Permissions 

31

1.  Un archivo ~/.bashrc que establecezca la umask de shell bash por defecto de

tal manera que los archivos sean de lectura para todos pero sólo de escritura para

el usuario propietario del archivo (en particular, el archivo no debería ser de

escritura para el grupo propietario).

Possible Solution 

The following sequence of commands provides one possible solution to this exercise.

[student@station student]$ echo "umask 022" >> .bashrc

[student@station student]$ cat .bashrc 

# .bashrc

# User specific aliases and functions

# Source global definitions

if [ -f /etc/bashrc ]; then

. /etc/bashrc

fi

umask 022

Al salir e iniciar de nuevo, usted debería ver el siguiente comportamiento.

[student@station student]$ date > test_file.txt[student@station student]$ ls -l 

total 4

-rw-r--r-- 1 student student 29 Feb 20 14:52 test_file.txt

Observe que los permisos de los archivos recién creados es 644, no el permiso por

defecto de Red Hat de 664.

Limpieza 

Después de haber evaluado este ejercicio, suprima de su archivo~/.bashrc la línea que

ha agregado.