====== Assignació de propietaris, grups i permisos ======
===== SETUID / SETGID BITS =====
En crear un arxiu, LINUX assigna com a propietari i grup de l'arxiu a l'usuari i el seu grup primari. Això dificultat el treball amb els arxius, donat que un mateix usuari ha de poder compartir els seus arxius amb usuaris de diferents grups.
Per solventar aquest problema es pot configurar el bit SETGUID, de manera que LINUX assignarà a l'arxiu creat el grup al qual pertany el directori.
En el cas d'una escola, vol dir, per exemple, que si la carpeta ///srv/exports/P//, correspon al grup del //professorat// els arxius que s'hi puguin crear tindran com a grup el del //professorat//.
Els bits SETGID, SETUID i STICKY s'assignen amb el comandament **chmod**. Els valors per aquest byte són recollits a la següent taula:
^ Octal digit ^ Binary value ^ Significat ^
| 0 | 000 | setuid, setgid, sticky bits són desactivats |
| 1 | 001 | sticky bit està actiu |
| 2 | 010 | setgid bit està actiu |
| 3 | 011 | setgid and sticky bits estan activats |
| 4 | 100 | setuid bit està actiu |
| 5 | 101 | setuid and sticky bits estan activats |
| 6 | 110 | setuid and setgid bits estan activats |
| 7 | 111 | setuid, setgid, sticky bits estan activatst |
Per activar aquest bits es fa servir la comanda **chmod**\\
chmod 1770 /srv/exports/secretaria
Aquesta comanda activa el bit **sticky** i posa els permisos totals per a l'usuari i el grup, però restringeix per a altres usuaris.
chmod 2770 /srv/exports/secretaria
En aquest exemple s'activa el **setgid** únicament i es fitxen els permisos per al propietari, i el seu grup, denegant-se per a altres.\\
Així successivament
chmod 3770 /srv/exports/secretaria
chmod 4770 /srv/exports/secretaria
chmod 5770 /srv/exports/secretaria
chmod 6770 /srv/exports/secretaria
chmod 7770 /srv/exports/secretaria
===== ACL =====
Les ACL permeten determinar diferents privilegis d'accés als arxius i carpetes als diferents usuaris o grups del sistema.
D'aquesta manera es pot determinar que un usuari concret tingui permís de lectura sobre una fitxer, per exemple:
acl -m u:usuari1:r-- ArxiuExemple
També permeten fixar els valors per defecte dels arxius per als nous directoris i documents.
acl -d -m u::rwx,g::rwx,o::--- CarpetaExemple
Aquesta última comanda fixa el nivell de permisos en un 770 per als documents i arxius de nova creació.
==== Exemple per a la xarxa escolar ====
Imaginem la carpeta Imatges.cd, que estarà compartida al servidor, on tots els usuaris podran consultar, però únicament els usuaris del grup d'administradors podrà enregistrar
| chown -R root:administradors imatges.cd | Fixa a root com a propietari i al grup d'administradors per a la carpeta imatges.cd i fa aquest canvi extensió a tots els arxius del recurs |
| chmod -R 6775 imatges.cd | s'activa els **//setguid//** i **//setuid//** per als arxius del recurs i es dona un nivell total per a root i el grup d'administradors, però s'assigna únicament un nivell de lectura per als altres usuaris. |
| setfacl -b -R -k imatges.cd | -b - Elimina qualsevol ACL que pogués haver-hi assignada anteriorment |
| ::: | -R fa extensiva l'acció d'aquesta comanda a tots els arxius i subcarpetes |
| ::: | -k Elimina les ACL per defecte que té qualsevol arxiu o carpeta |
| setfacl -R -m u::rwx,g::rwx,o::r-x imatges.cd | -R fa extensiva l'acció d'aquesta comanda a tots els arxius i subcarpetes |
| ::: | -m Activa el mode de modificació d'aquesta comanda |
| ::: | u::rwx - Assigna al usuari propietari els permisos de lectura, escriptura i execució |
| ::: | g::rwx - Assigna al grup els permisos de lectura, escriptura i execució |
| ::: | o:r-x - Assigna als altres usuaris un permí de lectura i d'execució, però denega el d'escriptura |
| setfacl -d -R -m u::rwx,g::rwx,o::r-x imatges.cd | Fa el mateix que la comanda anterior, però el paràmetre **-d** fixa aquests valors per fecte per als arxius i directoris nous |
==== Instruccions per establir els permisos a la unitat P ====
cd /srv/exports
chown -R prof:professorat P
chmod -R 6770 P
setfacl -b -R -k P
setfacl -R -m u::rwx,g::rwx,o::--- P
setfacl -d -R -m u::rwx,g::rwx,o::--- P
==== Instruccions per establir els permisos a la unitat direct ====
cd /srv/exports
chown -R direct:secretaria direct
chmod -R 6770 direct
setfacl -b -R -k direct
setfacl -R -m u::rwx,g::rwx,o::--- direct
setfacl -d -R -m u::rwx,g::rwx,o::--- direct
\\ \\
----
[[nfsInstalacioClient|Pas següent: Instal·lació del client NFS]]