Aller au contenu principal
Sujet: Mettre à la corbeille <> Supprimer (Lu 3400 fois) sujet précédent - sujet suivant

Mettre à la corbeille <> Supprimer

Bonjour,

je lis mes droits, ceux des fichiers et des dossiers...  :)

J'arrive à supprimer un dossier en CLI (dont je ne suis ni le propriétaire, ni élément du groupe de propriétaires, ...),
alors que la mise à la corbeille via Dolphin est impossible.
(C'est plus un partage qu'une bouée à la mer, si vous n'avez pas l'envie d'avoir envie, ne lisez pas)

Petits rappels:

Pour que le contenu d'un dossier puisse être lu, il faut que les attributs de son dossier-parent contiennent r-x pour le propriétaire de ce même dossier (si j'en suis le propriétaire), ou pour le groupe propriétaire de ce même dossier (celui parent).
exemple (thierry fait partie du groupe 'users'):
drwxrwx---  2 UserFTP1 users    4096 11. Apr 21:58 Test_Droit_Dossier

Pour que le contenu d'un dossier puisse être supprimer, renommer et pour pouvoir créer un fichier dans ce dossier (ou déplacer dans ce dossier), il faut que les attributs de son dossier-parent contiennent -wx pour le propriétaire de ce même dossier (si j'en suis le propriétaire), ou pour le groupe propriétaire de ce même dossier (celui parent).
exemple (thierry fait partie du groupe 'users'):
drwxrwx---  2 UserFTP1 users    4096 11. Apr 21:58 Test_Droit_Dossier

Étude de cas:

1) Présentation de l’arborescence des dossiers, de leurs attributs et des différents propriétaires:

Test_Droit_Dossier/
├── essai (un fichier vide)
├── Neuer Ordner00
└── Neuer Ordner_ROOT
Voici les attributs de chacun des dossiers (le dossier-parent est ' Test_Droit_Dossier'), 'thierry' fait partie du groupe 'users' qui est le groupe propriétaire de 'Test_Droit_Dossier', mais 'thierry' n'est pas le propriétaire de 'Test_Droit_Dossier' (le dossier-parent des autres dossiers...)
drwxrwx---  4 UserFTP1 users    4096 11. Apr 20:18 Test_Droit_Dossier
-rw-r--r-- 1 thierry  users    0 11. Apr 19:57 essai
drwxr-xr-x 2 UserFTP1 root 4096 11. Apr 20:10 Neuer Ordner00
drwxr-xr-x 2 root     root  4096 11. Apr 20:06 Neuer Ordner_ROOT
On remarque que 'thierry' n'est pas le propriétaire du dossier 'Neuer Ordner00' ou 'Neuer Ordner_ROOT' (c'est respectivement 'UserFTP1' et 'roo't), et 'thierry n'appartient pas au groupe propriétaire de ces deux dossiers (c'est 'root')

2) Action on tourne !! (on essaie de supprimer les deux dossiers)

On supprime en CLI:
thierry@linux-5bj8:~/Documents/Test_Droit_Dossier> rm -R Neuer\ Ordner00/
rm: Verzeichnis (schreibgeschützt) 'Neuer Ordner00/' entfernen? j (dossier protégé en écriture, effacer ? oui )
thierry@linux-5bj8:~/Documents/Test_Droit_Dossier>

thierry@linux-5bj8:~/Documents/Test_Droit_Dossier> rm -R Neuer\ Ordner00/
rm: Verzeichnis (schreibgeschützt) 'Neuer Ordner_ROOT/' entfernen? j (dossier protégé en écriture, effacer ? oui )
thierry@linux-5bj8:~/Documents/Test_Droit_Dossier>

thierry@linux-5bj8:~/Documents/Test_Droit_Dossier> ls
essai

Les dossiers ont bien été effacés.

3) On essaie d'envoyer (werfen) les dossiers à la corbeille (Papierkorb) avec Dolphin




Impossible d'envoyer ces mêmes dossiers à la corbeille avec Dolphin

Conclusion::

Pourquoi  la mise à la corbeille est impossible avec Dolphin quand je ne suis ni le propriétaire d'un dossier, ni élément du groupe propriétaire ?
C'est autant une question qu'un partage...  :)

(la suppression définitive est possible avec Dolphin, je n'ai pas pris de capture d’écran)

En étant dans la même arborescence que ci-dessus, mais avec
  • drwxr-xr-x 2 UserFTP1 user 4096 11. Apr 20:10 Neuer Ordner00
    la mise à la corbeille est encore impossible
  • drwx-w---- 2 UserFTP1 user 4096 11. Apr 20:10 Neuer Ordner00
    la mise à la corbeille est autorisée !!

Re : Mettre à la corbeille <> Supprimer

Répondre #1
Bonjour,

Regardez d'abord les droits du dossier ~/.local/share/Trash où tous les fichiers mis à la corbeille sont sauvegardés.

Re : Mettre à la corbeille <> Supprimer

Répondre #2
Bonjour,
Bien vu, les fichiers supprimés en cli ne sont pas envoyé dans la corbeille je crois.
Dans Dolphin il y a une entrée que l’on peut ajouter au menu clic droit pour supprimer directement les fichiers et répertoires, ce serait intéressant de voir si elle fonctionne comme rm en cli.

Pour ce qui est de la possibilité de supprimer en cli, le groupe users a le droit w sur le dossier Test_Droit_Dossier donc il peut modifier son contenu c’est à dire ajouter ou supprimer des fichiers ou des sous répertoires.
Un fil intéressant sur ça
https://forum.ubuntu-fr.org/viewtopic.php?id=53101

Déjà je viens juste de comprendre que le rm de la cli et le mise à la corbeille, ce n'était pas pareil :D

J’avoue que ce n’est pas simple pour moi et que ce n’est pas encore bien clair  :-*

Re : Mettre à la corbeille <> Supprimer

Répondre #3
La mise en corbeille est une fonction "avancée" proposée par les gestionnaires de fichiers (Dolphin, Nautilus, etc...) qui consiste simplement à déplacer le fichier concerné vers ~/.local/share/Trash et à conserver un pointeur pour pouvoir le restaurer si nécessaire. En aucun cas la mise en corbeille fait appel à /usr/bin/rm (à l'exception de certains cas où la mise en corbeille est impossible comme dans le cas d'un fichier présent sur un partage Samba).

Lorsqu'on supprime un fichier en ligne de commande avec rm la référence de ce fichier est effacée de la table des inodes du système de fichiers. L'emplacement qu'il occupait auparavant sur le disque est considéré comme libre et comme pouvant être utilisé. Mais tant que de nouvelles données ne sont pas écrites à son ancien emplacement, il est théoriquement possible de retrouver le fichier grâce à des utilitaires dédiés.

Re : Mettre à la corbeille <> Supprimer

Répondre #4
Pour ce qui est de la possibilité de supprimer en cli, le groupe users a le droit w sur le dossier Test_Droit_Dossier donc il peut modifier son contenu c’est à dire ajouter ou supprimer des fichiers ou des sous répertoires.

'w' tout seul ne suffit pas, il est impératif d'avoir au minimum '-wx'.

1) L'attribut de groupe pour Test_Droit_Dossier est -w- :
linux-5bj8:/home/thierry # ls -ld Test_Droit_Dossier/
drwx-w---- 4 UserFTP1 users 4096 14. Apr 07:04 Test_Droit_Dossier/

Rappel du contenu de Test_Droit_Dossier: (il contient deux dossiers)
linux-5bj8:/home/thierry # ls -l Test_Droit_Dossier/
insgesamt 8
drwxr-xr-x 2 UserFTP1 users 4096 14. Apr 07:02 Neuer Ordner00
drwxr-xr-x 2 root     root  4096 14. Apr 07:04 Neuer Ordner_ROOT
linux-5bj8:/home/thierry # exit (on est après cette commande le simple utilisateur 'thierry')

On essaie de supprimer avec l'utilisateur 'thierry': (Ça ne marche pas, car -w- ne suffit pas)
thierry@linux-5bj8:~> rm -R Test_Droit_Dossier/Neuer\ Ordner_ROOT
rm: das Entfernen von 'Test_Droit_Dossier/Neuer Ordner_ROOT' ist nicht möglich: Keine Berechtigung
(das Entfernen: la suppression // nicht möglich: impossible // keine Berechtigung: pas le droit)

2) Je passe les attributs de groupe pour Test_Droit_Dossier à -wx
thierry@linux-5bj8:~> sudo chmod 730 Test_Droit_Dossier/
[sudo] Passwort für root:
thierry@linux-5bj8:~> ls -ld Test_Droit_Dossier/
drwx-wx--- 4 UserFTP1 users 4096 14. Apr 07:04 Test_Droit_Dossier/

Suppression de 'Neuer Ordner_ROOT', puis vérification
thierry@linux-5bj8:~> rm -R Test_Droit_Dossier/Neuer\ Ordner_ROOT
rm: Verzeichnis (schreibgeschützt) 'Test_Droit_Dossier/Neuer Ordner_ROOT' entfernen? j
thierry@linux-5bj8:~> sudo ls -l Test_Droit_Dossier/   (Vérification)
[sudo] Passwort für root:
insgesamt 4
drwxr-xr-x 2 UserFTP1 users 4096 14. Apr 07:02 'Neuer Ordner00'
thierry@linux-5bj8:~>

Ça marche, le dossier Neuer Ordner_ROOT a été supprimé.

Re : Mettre à la corbeille <> Supprimer

Répondre #5
Merci Sogal pour ces informations.

Re : Mettre à la corbeille <> Supprimer

Répondre #6
Le droit x pour les répertoires c’est ce qui permet de les ouvrir ou de les « traverser. »
alors si tu l'enlèves ça ne va plus évidemment.
Ce que je voulais dire plus haut c'était d’enlever le droit w au groupe dont fait parti l’utilisateur thierry pour avoir drwxr-x- - - pour les droits de Test_Droits_Dossier
Ensuite Thierry ne devrait plus pouvoir supprimer le dossier à l’intérieur.
Si tu veux qu’un utilisateur ait accès en lecture au contenu d’un répertoire il faut à la fois r mais aussi x dans les droits.

Edit : j'ajoute un lien vers le wiki ubuntu sur les droits unix. On peut y lire une info intéressante sur le drapeau t à utiliser à la place de x pour les répertoires :
Citer
le bit restriction de suppression ou Sticky permet quant à lui de restreindre la suppression d'un fichier ou répertoire à son seul propriétaire. C'est le cas du répertoire /tmp :

 

Re : Mettre à la corbeille <> Supprimer

Répondre #7
Merci chalu pour le lien.

Je me suis déjà fait avoir avec le sticky bit, mais à l'époque sans en avoir entendu parlé. En bidouillant (apprenant seul), j'avais pris le dossier /tmp par hasard pour y essayer quelques commandes, pour m'exercer. Le comportement obtenu par mes commandes m'avait dérouté, un souffle de perplexité m'eut envahi à cette période-là... Je suis Perrin dans la chèvre: je devais prendre un dossier parmi des dizaines voir centaines, c'est celui-là que j'avais choisi  :))

Par contre l'option X à la place de x, je ne connaissais pas, c'est à connaître pour donner les droits d'exécution uniquement aux dossiers (voir application 2 du tuto wiki-ubuntu)
 Le droit que l'on veut modifier
    r : read ⇒ lecture
    w : write ⇒ écriture
    x : execute ⇒ exécution
    X : eXecute ⇒ exécution, concerne uniquement les répertoires (qu'ils aient déjà une autorisation d'exécution ou pas) et les fichiers qui ont déjà une autorisation d'exécution pour l'une des catégories d'utilisateurs. Nous allons voir plus bas dans la partie des traitements récursifs l'intérêt du X.