Perché usare un po 'appiccicoso?


18

"Il bit appiccicoso si applica solo alle directory e viene in genere utilizzato su directory scrivibili pubblicamente. All'interno di una directory in cui viene applicato il bit appiccicoso, agli utenti viene impedito di eliminare o rinominare qualsiasi file che non possiedono personalmente."

Questo significa che se eseguo quanto segue:

// only allow other users to read files in /directory
sudo chmod o-w -R /directory
sudo chmod o-x -R /directory
sudo chmod o+r -R /directory

gli utenti possono comunque eliminare o rinominare qualsiasi file che non appartiene a loro?

Risposte:


22

La parte adesiva è utile su directory che sono scrivibili in tutto il mondo, come ad esempio /tmp. In queste directory, chiunque può creare un file, quindi la directory deve essere scrivibile dal mondo. Ciò significherebbe che chiunque potrebbe anche eliminare un file, anche se non appartenesse a loro, poiché l'eliminazione di un file è controllata dall'autorizzazione di scrittura nella directory. Quando una directory ha il bit sticky, solo il proprietario di un file ha il permesso di eliminarlo.

In una directory con autorizzazioni rwx------o rwxr-xr-x, solo il proprietario della directory può creare o eliminare un file. Se ci sono file che appartengono a un altro utente (spostato lì da root o creato quando la directory aveva più permessi aperti), è ancora il proprietario della directory che ha i permessi per eliminarli, non il proprietario del file.

In una directory con autorizzazioni rwxrwx---, tutti i membri del gruppo possono creare ed eliminare file. Qualsiasi membro del gruppo può eliminare qualsiasi file anche se appartiene a un altro utente. Se le autorizzazioni sono rwxrwx--Tinvece (il capitale Tè simile t, ma tsignifica che il xbit è impostato e Tsignifica che il xbit è chiaro), allora qualsiasi membro del gruppo può creare un file e i membri del gruppo possono eliminare i file ma solo i propri file .

Puoi usare il comando seguente per vedere quali directory hanno il bit appiccicoso sul tuo sistema:

find / /run /run/lock /run/shm -xdev -path /usr -prune -o -perm -o+t -ls 2>/dev/null

Troverai alcune directory come quelle /tmpche sono aperte a tutti e alcune directory come /var/spool/cron/crontabsquelle riservate a un programma di sistema che funziona come il suo gruppo ( setgid ), dove il bit appiccicoso assicura che il programma possa eliminare solo i file per conto del utente che li possiede (ciò che garantisce che il programma possa creare file solo per conto dell'utente che li possiede è che il programma è in esecuzione come tale utente, non come root, quindi non è possibile creare file appartenenti ad altri utenti).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.