GNU/Linux >> Tutoriels Linux >  >> Linux

Impossible de supprimer un fichier avec les bits de mode fichier a+rw

Le /tmp le répertoire est classiquement marqué de la suppression restreinte drapeau, qui apparaît comme une lettre d'autorisation t ou T en ls sortie.

Suppression restreinte implique plusieurs choses. Dans le cas général, cela implique que seul le propriétaire du fichier, ou le propriétaire de /tmp lui-même, peut supprimer un fichier/répertoire dans /tmp .

Vous ne pouvez pas supprimer le fichier, car vous n'êtes pas le propriétaire, qui est root . Essayez d'exécuter rm avec sudo que vous avez probablement oublié.

sudo rm /tmp/test

Plus spécifiquement pour Linux seul, l'indicateur de suppression restreinte (sur un répertoire accessible en écriture par le monde tel que /tmp ) aussi active le protected_symlinks , protected_hardlinks , protected_regular , et protected_fifos restrictions, qui dans ces répertoires empêchent respectivement les utilisateurs de suivre des liens symboliques qu'ils ne possèdent pas, empêchent les utilisateurs de créer des liens physiques vers des fichiers qu'ils ne possèdent pas, empêchent les utilisateurs d'ouvrir des FIFO qu'ils ne possèdent pas et empêchent les utilisateurs d'ouvrir des fichiers existants qui ils ne sont pas propriétaires alors qu'ils s'attendaient à les créer.

Cela vous surprendra avec des erreurs d'autorisations lorsque vous ferez d'autres choses comme root quand vous faites utilisez sudo .

Plus d'informations sur ces questions telles que "Le comportement des autorisations de lien dur est différent entre CentOS 6 et CentOS 7", "Le lien symbolique ne fonctionne pas comme prévu lors du changement d'utilisateur" et "Les autorisations de groupe pour root ne fonctionnent pas dans /tmp".


Le problème semble être le morceau collant de /tmp .

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

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

Lorsque le sticky bit d'un répertoire est défini, le système de fichiers traite les fichiers de ces répertoires d'une manière spéciale afin que seul le propriétaire du fichier, le propriétaire du répertoire ou l'utilisateur root puisse renommer ou supprimer le fichier. Sans le sticky bit défini, tout utilisateur disposant d'autorisations d'écriture et d'exécution pour le répertoire peut renommer ou supprimer les fichiers contenus, quel que soit le propriétaire du fichier. Généralement, ceci est défini sur le répertoire /tmp pour empêcher les utilisateurs ordinaires de supprimer ou de déplacer les fichiers d'autres utilisateurs.


Linux
  1. Impossible de supprimer, purger, désinstaller mongodb de debian

  2. Comment puis-je supprimer un fichier ou un répertoire nommé \ ?

  3. echo ou print /dev/stdin /dev/stdout /dev/stderr

  4. Trier avec séparateur de champs

  5. Les sites Web doivent-ils vivre dans /var/ ou /usr/ selon l'utilisation recommandée ?

10+ commandes Linux VI avec des exemples

Ssh - Pourquoi la tentative de transfert X11 échoue-t-elle avec "connect /tmp/.x11-unix/x0 :aucun fichier ou répertoire de ce type" ?

Télécharger des fichiers au format ASCII ou binaire avec FTP

UNIX / Linux :Quelle est la bonne permission des répertoires /tmp et /var/tmp

Comprendre les fichiers /proc/mounts, /etc/mtab et /proc/partitions

Différence et utilisation correcte pour /tmp et /var/tmp