Shared Group directory - SGID - Sticky Bit
Gli utenti "bat" e "sUp" appartengono allo stesso gruppo "dc".
Creare una shared directory per questi due utenti equivale a creare una directory appartenente allo stesso gruppo "dc" e ogni file e directory creata al suo interno avrà come gruppo "dc".
Come si fa? Utilizzando i permessi speciali.
Impostare SGID permission alla directory "JL" da condividere.
[root@coslab02 home]# groupadd dc
[root@coslab02 home]# useradd bat -G dc
[root@coslab02 home]# useradd sUp -g dc
Creare la directory "JL"
[root@coslab02 home]# mkdir /home/JL
[root@coslab02 home]# ls -ld /home/JL
drwxr-xr-x 2 root root 6 Aug 25 15:27 /home/JL
Assegnargli come gruppo dc con gran di letturea e scrittura.
[root@coslab02 home]# chgrp -R dc /home/JL
[root@coslab02 home]# ls -ld /home/JL
drwxr-xr-x 2 root dc 6 Aug 25 15:27 /home/JL
[root@coslab02 home]# chmod g+w /home/JL
[root@coslab02 home]# ls -ld /home/JL
drwxrwxr-x 2 root dc 6 Aug 25 15:27 /home/JL
Se entro come "bat" e creo un file, quest'ultimo eredita il gruppo proprietario del file.
[bat@coslab02 ~]$ ls -lrt /home/JL/file1
-rw-rw-r-- 1 bat bat 0 Aug 25 15:32 /home/JL/file1
Invece se utilizzo SGID i nuovi file e directory create ereditano lo stesso gruppo della directory.
[root@coslab02 JL]# chmod g+s /home/JL
[root@coslab02 JL]# chmod 2770 /home/JL
root@coslab02 JL]# ls -ld /home/JL
drwxrwsr-x 2 root dc 6 Aug 25 15:39 /home/JL
Accededndo con utenza "bat", il file creato avrà come gruppo dc.
bat@coslab02 JL]$ touch f2
[bat@coslab02 JL]$ ls -lrt
total 0
-rw-rw-r-- 1 bat dc 0 Aug 25 15:51 f2
Per rimuove SGID bit:
chmod g-s <nome_directory>
In queste condizioni tutti gli utenti del gruppo dc possono cancellare i file creati all'interno della directory JL ma se si volesse forzare la cancellazione solo da parte del proprietario del file (o della direcotry) usare lo STICKY BIT
[root@coslab02 JL]# chmod +t /home/JL
oppure[root@coslab02 JL]#chmod 1770 <nome_directory>
[root@coslab02 JL]# ls -ld /home/JL
drwxrwsr--T 2 root dc 6 Aug 25 15:39 /home/JL
Come impostare SUID
# chmod 4770 <nomefile>
oppure
# chmod u+s <nomefile>
# ls -lrt /usr/bin/passwd
-rwsr-xr-x 1 root root 27856 Aug 9 2019 /usr/bin/passwd