|
Sistemes Operatius |
STI-1 |
GNU/Linux |
Pràctica 2: Permisos dels fitxers i directoris. |
25/10/10 |
DOCUMENTACIÓ
PERMISOS DELS FITXERS I DIRECTORIS
Tot arxiu i directori de Linux té definits una sèrie de permisos, que determinen quins són els drets que tenen els usuaris del sistema sobre éll. Aquests permisos són bàsicament: a) Execució b) Lectura c) Escriptura. D'altra banda, podem dividir els usuaris que accedeixen a un arxiu en 4 grups: a) L'usuari propietari de l'arxiu b) El grup d'usuaris dins dels quals es troba integrat l'usuari propietari c) La resta d'usuaris del sistema d) L'administrador de sistema (o root). Els permisos i el tipus d'usuari són dos paràmetres que es combinen, i condicionen les accions que podem realitzar sobre un arxiu.
Les ordres Linux que controlen aquests paràmetres són les següents:
a) ls -l per veure l'estat dels permisos, el propietari i el grup del propietari (i també altres informacions com data i hora de creació, i mida).
b) chmod per canviar l'estat dels permisos.
c) chown per canviar el propietari d'un arxiu.
d) chgrp per canviar el grup d'un arxiu.
1- Ordre ls -l
Ens permet veure l'estat dels permisos, el propietari i el grup del propietari (i també altres informacions com data i hora de creació, i mida).
L'usuari Pere és propietari de l'arixu notes.exe i és membre dels grups Direcció i Programadors. L'arxiu és de 1254 bytes i va ser modificat per última vegada el 2 d'Abril a les 18:35. Si fem un ls -l notes.exe surt:
|
<Permisos> |
<Nº Vincles> |
<Propietari> |
<Grup> |
Resta de dades |
|---|---|---|---|---|
|
-rwxrr-xr-- |
1 |
Pere |
Direccio |
1254 Apr 2 18:35 notes.exe |
|
Nota: El primer caràcter, indica el Tipus de fitxer. |
Nota: Depen de si és fitxer o directori. Si és fitxer val 1. Si és directori, indica quants elements té dins seu. |
|
|
Nota: El primer número indica la mida del fixer en bytes. |
El tipus de
fitxers més habituals que podem trobar són els
següents:
| -Fitxer normal | b Fitxer de dispostiu de bloc (HD, CDROM...) |
| d Directori | cFitxer de dispositiu de carácter (Impressora....) |
| l enllaç simbòlic | n Fitxer especial de xarxa |
Els Permisos són normalment els següents:
| r Lectura w Escriptura x Execució -No permís de.. |
| 1r Grup -> Permisos del propietari del fitxer |
| 2n Grup -> Permisos del grup del propietari del fitxer |
| 3r Grup -> Permisos de la resta d'usuaris |
NOTA: Aquests permisos no afecten a l'usuari root.
2-
Ordre chmod treballant amb notació octal
Ordre per canviar l'estat dels permisos.
Estructura: chmod permisos nom_fitxer
Permisos = Número de tres dígits en base octal (0..7). Cada dígit representa els permisos de cada grup.
Per obtenir el digit que representa els permisos d'un grup, hem de seguir el següent procediment: 1- Cada permís és valida amb un 1 i amb un 0 és nega el permis. 2-Tindrem per tant un número binari de tres dígits que representa els drets d'un grup per aquell fitxer. Convertim el número binari en octal. Ara només tenim un digit octal que representa els drets d'un grup per aquell fitxer. 3- Unim els tres digits octals i tindrem el número octal de tres dígits que representa els drets de tots els ususaris del sistema sobre el fitxer.
Exemple: Volem que notes.exe sigui d'ecriptura, lectura i executable per l'usuari propietari Pere, que només sigui de lectura i executable pel grup Direcció, i només de lectura per la resta d'usuaris. Llavors
Pere -> r=1 w=1 x=1 -> 111 -> 7
Direcció -> r=1 w=0 x=1 -> 101 -> 5
Resta Usuaris -> r=1 w=0 x=0 -> 100 -> 4
L'ordre és ===> chmod 754 notes.exe
També és posible donar permisos dels usuaris per treballar amb directoris. En aquest cas:
a) Permis de lectura => Permet fer un llistat dels arxius que hi ha dins del directori.
b) Permis d'execució => Permís per crear i esborrar fitxers propis del directori.
c)
Permis d'escriptura
=> Permís
a altres usuaris per escriure (o sigui gravar) fitxers no propis del
directori.
3-
Ordre chmod amb les opcions ugoa±rwx
Els
permisos es poden
modificar en grup, com hem vist a l'apartat anterior, utilitzant la
notació octal, o es poden canviar individualment.
En aquest cas, farem servir una combinació dels conjunt de
símbols
següents:
a) Símbols u, g, o,a ==> u
representa a l'usuari propietari, g representa al
grup d'usuaris amb permisos especials sobre un fitxer o directori, o
representa a la resta d'usuaris, i a representa a tots
els usuaris.
b) Símbols + , - ==> El signe +
representa donar un permís, i el signe - representa
denegar un permís.
c) Símbols r,w,x ==> r
representa el permís de lectura, w representa el
permís d'escriptura, i x representa el permís
d'execució.
Així, la combinació u-w vol dir que a l'usuari propietari del fitxer (u) se'l denega (-) el permís d'escriptura (w) d'un determinat fitxer o directori.. La combinació o+r vol dir que a la resta d'usuaris (o) se'ls dóna permís (+) de lectura (r) sobre un fitxer o directori (La resta d'usuaris són, evidentment, els que no són el propietari o formen part del grup d'usuaris amb permisos especials sobre el fitxer). La combinació a+x vol dir que a tots els usuaris (a) se'ls dóna permís (+) d'execució (x) sobre un fitxer o directori.
Exemple 1) Volem denegar el permís d'escriptura sobre el fitxer notes.exe a l'usuari propietari Pere. Llavors executarem:
chmod u-w notes.exe
Exemple 2) Volem donar permís dexecució del fitxer notes.exe a tots els usuaris del sistema. Llavors executarem:
chmod a+x notes.exe
Exemple 3) Volem denegar permís d'execució de notes.exe als usuaris que no formen part del grup d'usuaris amb permisos especials sobre els fitxer. Llavors executarem:
chmod o-x notes.exe
Exemple 4) Volem donar permís d'escriptura sobre notes.exe als usuaris que formen part del grup d'usuaris amb permisos especials sobre els fitxer. Llavors executarem:
chmod g+w notes.exe
4- Ordre chmod recursiva
Per posar un mateix tipus de permisos a tots els fitxers,
subdirectoris i fitxers dins de subdirectoris d'un directori, cal
executar l'ordre chmod de manera recursiva. Si volem posar de
manera recursiva els permisos rwxrw-r-- a un directori anomenat test i a tots els seus fitxers i subdirectoris hauriem d'executar:
chmod -R 764 test
5-Ordre chown
a) Ordre per canviar el propietari d'un arxiu.
Estructura: chown nou_propietari nom_fitxer(s)
Exemple: chown joan notes.exe
b) Ordre per canviar el propietari i grup d'un arxiu al mateix temps.
Estructura: chown nou_propietari:nou_grup nom_fitxer(s)
Exemple:
chown
joan:fax notes.exe
c) Opció -R per fer recursiva l'ordre chown:
chown -R joan:fax notes.exe
6- Ordre chgrp
Ordre per canviar el grup d'un arxiu.
Estructura: chgrp nou_grup nom_fitxer
Ex: chgrp programadors notes.exe
PRÀCTIQUES
0- Instal·la el programa tree. Executa:
1-
Obre l'editor joe i escriu les segúents línies:
echo Hola $LOGNAME
read
echo El teu directori actual és $PWD
read
echo El contingut del teu directori és:
ls -ls
Desa el fitxer amb el nom prog.sh.
Comprova amb quins permisos s'ha desat al disc dur.
2- Fes que que l'usuari propietari del programa tingui permisos de lectura, escriptura i execució, que el grups d'usuaris amb permisos especials tingui permisos de lectura i execució, i que la resta d'usuaris només tingui permís de lectura.
3- Executa el programa amb l'ordre ./prog.sh.
4- Fes que que l'usuari propietari del programa tingui permisos d'escriptura i execució, que el grups d'usuaris amb permisos especials tingui permisos d'execució, i que la resta d'usuaris no tingui cap tipus de permís sobre el fitxer. Intenta obrir el fitxer amb l'editor joe. Ho pots fer?. Per què? Intenta visualitzar el fitxer amb l'ordre cat. Ho pots fer?. Per què?. Intenta executar el programa. Ho pots fer?. Per què?
5- Fes que que l'usuari propietari del programa tingui permisos de lectura i execució, que el grups d'usuaris amb permisos especials tingui permisos de lectura, i que la resta d'usuaris no cap tipus tingui de permís. Intenta esborrar el fitxer. Ho pots fer?
6- Identifica els grups d'usuaris dels quals forma part l'usuari sti1.
7- Com a usuari root, canvia el nom del propietari del fitxer. Fes que ara el propietari sigui l'usuari sti2.
8- Com a usuari root, canvia el nom del grup d'usuaris amb permisos especials sobre el fitxer. Fes que ara sigui el grup modem.
9- Torma a ser l'usuari sti1 i intenta executar el programa. Ho pots fer?. Per què?. Com a usuari root torma a deixar el fitxer prog.sh en els condicions en les quals es trobava abans de fer els apartats 7 i 8. Torna a ser sti1 i torna a donar a prog.sh els permisos de l'apartat 2.
10- Crea un directori de nom perm. Comprova amb quins permisos ha esta creat.
11- Modifica el permisos perque sigui de només lectura per tothom.
12 Intenta entrar al directori. Ho pots fer?. Per què?.
13- Modifica el permisos del directori perque sigui de lectura i execució per tothom.
14- Intenta entrar al directori. Ho pots fer?. Per què?. Intenta crear un fitxer dins del directori. És posible?. Per què?
15- Modifica el permisos del directori perque sigui de escritura i execució per tothom, però que ningú tingui drets de lectura. Intenta fer un llistat dels fitxers del directori. Ho pots fer? Per què?.
16- Modifica el permisos del directori perm perque sigui de lectura, escritura i execució per l'usuari propietari, i que no tingui cap tipus de permis per la resta d'usuaris. Mou el programa prog.sh dins del directori perm. Ara modifica els permisos del directori perquè siguin de nomes lectura i execució per l'usuari propietari. Entra dins del directori perm i intenta esborrar el fitxer prog.sh. Què passa?. Intenta canviar el nom del fitxer prog.sh pel nou nom prova.sh. Ho pots fer?. Per què?
17- Modifica el permisos del directori perm perque sigui de lectura, escritura i execució per l'usuari propietari, i que no tingui cap tipus de permis per la resta d'usuaris. Modifica els permisos de prog.sh perquè sigui de només lectura i execució per l'usuari propietari, i que no tingui cap tipus de permis per la resta d'usuaris. Intenta esborrar el fitxer prog.sh. Què passa?. Quina és la diferència respecte de l'apartat anterior?. Intenta canviar el nom del fitxer prog.sh pel nou nom prova.sh. Ho pots fer?.
18- Modifica el permisos del directori perm perque sigui de lectura, escriptura i execució per tothom.
NOTA: Els següents apartats s'han de fer utilitzant els símbols indicats a l'apartat 3 de la documentació.
19- Denega a l'usuari propietari l'execució del del directori perm.
20- Denega el permís d'escriptura sobre el directori perm als usuaris que no formen part del grup d'usuaris amb permisos especials sobre els fitxer.
21- Denega a tothom el permis de lectura sobre el directori perm.
22- Denega el permís d'execució sobre el directori perm als usuaris que formen part del grup d'usuaris amb permisos especials sobre els fitxer.
23- Dóna a tothom el permis d'execució sobre el directori perm.
24- Dóna a l'usuari propietari el permís de lectura del del directori perm.
25- Dóna el permís d'escriptura sobre el directori perm als usuaris que no formen part del grup d'usuaris amb permisos especials sobre els fitxer.
26- Comprova l'estat dels permisos del directori perm des de l'entorn gràfic.
27- Canvia els permisos del directori perm des de l'entorn gràfic, i fes que sigui de lectura, escritura i execució per l'usuari propietari, i que no tingui cap tipus de permis per la resta d'usuaris.
28- Comprova des de l'entorn
gràfic els permisos del directori perm.
Utilitza l'opcío Vista de Llista, i Visualitza --> Columnes visibles --> valida Permisos i Permisos en octal.
29- Des de l'entorn gràfic fes que el nou grup amb permisos especials de la carpeta perm sigui fax.
30- Amb una única ordre, fes que el directori perm sigui propietat de l'suari sti2 i el grup amb permisos especials sigui fax. Comprova que l'ordre s'ha executat.
31- Crea el següent arbre de directoris dins del teu directori personal:
jocsAmb l'ordre tree mostra l'arbre de directoris amb els seus permisos. A continuació, canvia de manera recursiva els permisos de jocs i els seus subdirectoris, fent que tots tinguin els permis os rwxrwxrwx. Amb l'ordre tree mostra l'arbre de directoris amb els nous permisos.
32- Des de l'entorn gràfic fes que els permisos del directori i els seus subdirectoris tornin a ser els original. Comprova-ho.
33- Canvia de manera recursiva i amb una sola ordre el propietari i el grup del directori jocs i tots els seus subdirectoris. Fes que l'usuari sigui propietat de l'suari sti2 i el grup amb permisos especials sigui fax. Comprova que l'ordre s'ha executat.
34- S'ha de lliurar un informe de la pràctica en format PDF a l'adreça de correu electrònic cf(arrova)collados.org. El nom del fitxer serà sti1_nom_cognom_pr2_linux.pdf. Nom i cognom són els vostre propis. A l'assumpte del correu heu de posar sti1_nom_cognom_pr2_linux. El vostre nom, cognom i curs també ha de posar-se al principi del treball. L'últim dia per lliurar el treball és el dilluns 14-11-2010. Cada dia que passi d'aquesta data, treuré dos punts a la nota del treball.