GNU/Linux >> Linux Esercitazione >  >> Linux

Impossibile rimuovere un file con bit in modalità file a+rw

Il /tmp directory è convenzionalmente contrassegnata con la cancellazione limitata flag, che appare come una lettera di autorizzazione t o T in ls uscita.

Eliminazione limitata implica diverse cose. Nel caso generale, implica che solo il proprietario del file, o il proprietario di /tmp stesso, può eliminare un file/directory in /tmp .

Non puoi eliminare il file, perché non sei il proprietario, che è root . Prova a eseguire rm con sudo che probabilmente hai dimenticato.

sudo rm /tmp/test

Più specificatamente solo per Linux, il flag di eliminazione limitata (su una directory scrivibile da tutti come /tmp ) anche abilita il protected_symlinks , protected_hardlinks , protected_regular e protected_fifos restrizioni, che rispettivamente in tali directory impediscono agli utenti di seguire collegamenti simbolici che non possiedono, impediscono agli utenti di creare collegamenti fisici a file che non possiedono, impediscono agli utenti di aprire FIFO che non possiedono e impediscono agli utenti di aprire file esistenti che non possiedono quando si aspettavano di crearli.

Questo ti sorprenderà con errori di autorizzazione quando fai varie altre cose come root quando lo fai usa sudo .

Maggiori informazioni su domande come "Comportamento delle autorizzazioni di collegamento fisico diverso tra CentOS 6 e CentOS 7", "Collegamento simbolico non funzionante come previsto quando si cambia utente" e "Autorizzazioni di gruppo per root non funzionanti in /tmp".


Il problema sembra essere la parte appiccicosa di /tmp .

$ ls -ld /tmp
drwxrwxrwt⃝   1 root  root  1044 Mar 13 12:09 /tmp

https://en.wikipedia.org/wiki/Sticky_bit

Quando viene impostato lo sticky bit di una directory, il filesystem tratta i file in tali directory in un modo speciale in modo che solo il proprietario del file, il proprietario della directory o l'utente root possano rinominare o eliminare il file. Senza lo sticky bit impostato, qualsiasi utente con autorizzazioni di scrittura ed esecuzione per la directory può rinominare o eliminare i file contenuti, indipendentemente dal proprietario del file. In genere questo è impostato nella directory /tmp per impedire agli utenti ordinari di eliminare o spostare i file di altri utenti.


Linux
  1. UNIX / Linux :Qual è il permesso corretto delle directory /tmp e /var/tmp

  2. Installa i binari in /bin, /sbin, /usr/bin e /usr/sbin, interazioni con --prefix e DESTDIR

  3. Impossibile rimuovere, eliminare, disinstallare mongodb da debian

  4. Quando dovrei usare /dev/shm/ e quando dovrei usare /tmp/?

  5. Perché mettere cose diverse da /home in una partizione separata?

Carica file come ASCII o binari con FTP

Come systemd-tmpfiles pulisce /tmp/ o /var/tmp (sostituzione di tmpwatch) in CentOS/RHEL 7

Comprendere i file /proc/mounts, /etc/mtab e /proc/partitions

Come posso rimuovere un file o una directory chiamata \?

unix:///var/run/supervisor.sock nessun file di questo tipo

I siti web dovrebbero vivere in /var/ o /usr/ in base all'utilizzo consigliato?