IMPOSTA UID e GID su file e directory Linux

Setuid e Setgid sono termini Unix, abbreviazioni per "Set User ID" e "Set Group ID", rispettivamente. Setuid, a volte chiamato anche "suid", e "setgid" sono permessi di accesso che possono essere assegnati a file o directory su un sistema operativo basato su Unix. Vengono principalmente utilizzati per consentire agli utenti del sistema di eseguire temporaneamente binari con privilegi elevati per eseguire un'attività specifica.

Queste autorizzazioni sono le seguenti:

IMPOSTA UID

 set-user-ID-on-execution
Consente che, quando un file viene eseguito, venga eseguito con i privilegi del proprietario. Ad esempio, se dobbiamo esercitare i privilegi di root per poter accedere a un determinato modulo, scrivere su log, leggere/scrivere dispositivi, ecc.
SGID, set-group-ID-on-execution consente che, quando un file viene eseguito, venga eseguito con i privilegi del gruppo che possiede il file.

Rendere SET UID e GID a file e directory, generalmente a quest'ultimo, consentirà una "ereditarietà" di caratteristiche dalla directory precedente alla successiva, e tutti i file/directory che vengono generati/creati/copiati nelle directory SET GID avrà le caratteristiche della directory padre.

GID è generalmente consentito affinché gli utenti di un gruppo possano lavorare con i file dello stesso gruppo, UID sarà in grado di cambiare il proprietario del file e i permessi per un'altra persona nel GRUPPO, se l'opzione "cliccabile" è attiva .

IMPOSTA GI
SET GID è un'opzione interessante anche se molti utenti accedono a un sistema di archiviazione comune

  • SAMBA
  • FTP
  • HTTP
  • Banche dati

Esempio per implementare SET UID e GID


Dal terminale svolgiamo le seguenti attività:

Creiamo una directory di esempio:

 [root @ root] mkdir ESEMPIO
Elenchiamo la directory:
 [root @ root] vdir
Modifichiamo i permessi della directory in modo che possano accedere solo gli utenti del gruppo "programmatori", i permessi sono parametri del comando chmod e sono il prossimo
+ s: per attivare la modalità suid
g + s: per attivare la modalità sgid
 [root @ root] # chown user.programmers
 [root @ root] # chmod g + s ESEMPIO 
 [radice @ radice] # vdir
Elenchiamo la directory e vedremo il contenuto
 4 drwxrwxrwx 2 programmatori utente ESEMPIO
Per impostazione predefinita, nessun utente che non appartenga al gruppo "programmatori" sarà in grado di lavorare con i file in quella directory. D'altra parte, gli utenti del gruppo saranno in grado di lavorare con i file a seconda dei loro attributi che gli utenti hanno, se hanno i permessi di sola lettura o scrittura.

Alcuni software e servizi come Samba, FTP, HTTPHanno caratteristiche speciali che non sono disciplinate da queste regole e le completano arricchendole.

Ora che abbiamo creato il SET UID e il GID, se creiamo un file o una directory all'interno dell'esempio da qualsiasi utente, erediterà le caratteristiche che abbiamo definito in precedenza, indipendentemente da chi l'ha creato e dai permessi che ha.

Ad esempio possiamo dire se creiamo un file report.txt nella directory EXAMPLE e l'utente che lo ha creato è root, e tuttavia il gruppo è programmatori, il gruppo a cui apparterrà il file sarà programmatori.
Poiché la directory ESEMPIO è con gli attributi: drwxrwsrwx, indicando che la directory è SET GID, tutti i file creati in essa apparterranno all'utente e al gruppo indicato dal SET GID.

Se vediamo un elenco con diversi file, sarebbe simile a questo:

 4 drwxr-Sr-x 2 programmatori jose 4096 home.html 4 drwxr-Sr-x 2 programmatori carlos 4096 dependencies.txt 4 drwxr-Sr-x 2 programmatori root 4096 report-project.odf
Spero che questo tutorial ti sia d'aiuto.

Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo
wave wave wave wave wave