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
oppure
[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


Post popolari in questo blog

Create e Drop Pluggable Database

ORA-12154: TNS: il listener non è attualmente a conoscenza del servizio richiesto nel descrittore di connessione