setuid

Setuid, che rappresenta l'ID utente impostato in fase di esecuzione, è un tipo speciale di autorizzazione per i file nei sistemi operativi Unix e simili a Unix come Linux e BSD. È uno strumento di sicurezza che consente agli utenti di eseguire determinati programmi con privilegi di escalation.

Quando viene impostata l'autorizzazione setuid di un file eseguibile, gli utenti possono eseguire quel programma con un livello di accesso che corrisponde all'utente che possiede il file. Ad esempio, quando un utente desidera modificare la propria password, esegue il comando passwd. Il programma passwd è di proprietà dell'account root e contrassegnato come setuid, quindi all'utente viene temporaneamente concesso l'accesso root per quello scopo molto limitato.

Visualizzazione dell'autorizzazione setuid di un file

Quando si visualizzano le autorizzazioni di un file con il comando ls -l, l'autorizzazione setuid viene visualizzata come una "s" nella posizione del bit "esecuzione utente". Per esempio:

ls -l / usr / bin / passwd
-rwsr-xr-x 1 root 54192 20 nov 17:03 / usr / bin / passwd

Impostazione dell'autorizzazione setuid di un file

Per impostare l'autorizzazione setuid per un file eseguibile, utilizzare l'identificatore dell'autorizzazione u + s con il comando chmod:

chmod u + s myfile

I file non eseguibili possono essere contrassegnati come setuid, ma non ha alcun effetto; contrassegnarli come setuid non li rende automaticamente eseguibili. In questo caso, il bit di autorizzazione viene visualizzato come una "S" maiuscola. Per esempio:

ls -l myfile
-rw-r - r-- 1 utente 0 mar 6 10:45 myfile
chmod u + s myfile
ls -l myfile
-rwSr - r-- 1 utente 0 mar 6 10:45 myfile

Tuttavia, se si imposta il file come eseguibile dall'utente con l'autorizzazione u + x, l'autorizzazione setuid diventa effettiva. Verrà quindi rappresentato nell'elenco con una "s" minuscola:

chmod u + x myfile
ls -l myfile
-rwsr - r-- 1 utente 0 mar 6 10:45 myfile

setgid

Setgid è l'equivalente di setuid per i gruppi. Se il bit è impostato, concede l'autorizzazione al gruppo proprietario del file. In un elenco di file, il carattere "s" (lettere minuscole) è elencato nella posizione "esecuzione gruppo" della stringa di autorizzazioni del file. Se il bit setgid è impostato, ma il gruppo non dispone delle autorizzazioni di esecuzione per il file o la directory, viene invece visualizzata una "S" maiuscola. Questo carattere maiuscolo indica che il bit è impostato, ma non ha alcun effetto.

Nell'output di ls -l mostrato qui, la "s" minuscola indica che il bit setgid è impostato per il file elencato. Qualsiasi utente che accede a quel file lo farà come se fosse un membro del gruppo proprietario.

chmod g + s myfile2
ls -l myfile2
-rw-r-sr-- 1 utente mygroup 0 6 mar 10:46 myfile2

Se il bit setgid è impostato per una directory, tutti i nuovi file creati in quella directory saranno di proprietà del gruppo proprietario della directory, anziché del gruppo dell'utente. Ai file spostati o copiati da un'altra posizione non verrà modificato l'ID gruppo.

Leave a Comment