Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 10/07/2021, à 20:58

Compte supprimé

[RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

Bonsoir à tous !

j'ai du mal entre les droits de fichiers Amiga (Unix'like) et Linux…

Sur Amiga, il suffisait de retirer les droit d'écriture d'un fichier, pour le protéger contre l'effacement (accidentel).

Sur Linux : (xfce4-terminal)

ludovic@LibraZiK:~$ mkdir "/home/ludovic/LDVC/test"
ludovic@LibraZiK:~$ cd -
/home/ludovic/LDVC/test
ludovic@LibraZiK:~/LDVC/test$ touch toto
ludovic@LibraZiK:~/LDVC/test$ ls -l
total 0
-rw-r--r-- 1 ludovic ludovic 0 juil. 10 21:44 toto
ludovic@LibraZiK:~/LDVC/test$ chmod -w toto
ludovic@LibraZiK:~/LDVC/test$ ls -l
total 0
-r--r--r-- 1 ludovic ludovic 0 juil. 10 21:44 toto #je retire les droits d'écriture sur le fichier, et je le protège contre l'effacement du même coup, ou non ?
ludovic@LibraZiK:~/LDVC/test$ rm toto
rm : supprimer 'toto' qui est protégé en écriture et est du type « fichier vide » ? o  #apparemment le fait d'avoir retiré le bit w j'ai effectivement protégé mon fichier contre l'effacement.
ludovic@LibraZiK:~/LDVC/test$ ls -l       #mais catastrophe ! Il a quand même effacé le fichier protégé contre l'effacement.
total 0
ludovic@LibraZiK:~/LDVC/test$

Qu'est-ce que j'ai loupé ???

Actuellement je suis sous Debian 10, avez-vous le même problème sous Ubuntu ?

Merci.
Bien cordialement.

Dernière modification par Compte supprimé (Le 11/07/2021, à 15:38)

#2 Le 10/07/2021, à 21:38

Nuliel

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

Bonjour;
Les droits sont les mêmes pour tous les linux.
La raison est que tu as le bit w sur le dossier, ce qui fait que tu as le droit de supprimer ce fichier.

Read:
sur un fichier: permet de lire le contenu du fichier
sur un dossier: permet de lister les fichiers
Write:
sur un fichier: permet de modifier et vider le contenu du fichier (et non de supprimer le fichier)
sur un dossier: permet de créer et de supprimer des fichiers
Execution:
sur un fichier; pouvoir lancer le fichier comme un programme
sur un dossier: ouvrir des fichiers dedans et pouvoir utiliser la commande cd

Hors ligne

#3 Le 10/07/2021, à 23:00

Compte supprimé

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

Merci Nuliel.
Je crois qu'il faut le execute sur les dossiers Linux pour lire le contenu.

Est-ce que je suis obligé de retirer le write du dossier pour protéger un fichier contre l'effacement ?

#4 Le 11/07/2021, à 00:31

Coeur Noir

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

Je dirais qu'il faut chercher du côté des « attributs » soit les commandes

lsattr

et

chattr

et pour écrire dans un fichier qu'on ne pourra pas effacer ( tant qu'il a cet attribut ) ça serait

http://manpages.ubuntu.com/manpages/focal/en/man1/chattr.1.html a écrit :

a
       A file with the 'a' attribute set can only be opened in append mode for writing.  Only the
       superuser or a process possessing the CAP_LINUX_IMMUTABLE capability can set or clear this
       attribute.

Sinon effectivement retirer le droit d'écriture sur le dossier parent~contenant mais comme tu le pressens, c'est contraignant : en dehors des fichiers déjà présents dans ce dossier tu ne pourras rien « créer / ajouter » dans ce dossier ( tant qu'il est sans droit d'écriture pour ton utilisateur ).

Ta question m'a rappelé cette discussion : https://forum.ubuntu-fr.org/viewtopic.p … #p22261222

Dernière modification par Coeur Noir (Le 11/07/2021, à 00:50)


DébuterDocBien rédigerRetour commandeInsérer image | illustrations & captures d'écran <>

Hors ligne

#5 Le 11/07/2021, à 07:51

MicP

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

Bonjour

C'est encore et toujours une histoire de contenant et de contenu :

Pour pouvoir créer ou supprimer un fichier dans un répertoire,
il faut avoir le droit de modifier le contenu du répertoire qui va contenir ce fichier

Je créé un répertoire nommé monRep/ :

michel@debbull:~/monTest$ mkdir monRep
michel@debbull:~/monTest$ 

Je modifie les attributs du répertoire monRep/ :

michel@debbull:~/monTest$ chmod 700 monRep/
michel@debbull:~/monTest$ 

Je visualise les attributs du répertoire monRep/ :

michel@debbull:~/monTest$ ls -ld monRep/
drwx------ 2 michel michel 4096 11 juil. 08:30 monRep/
michel@debbull:~/monTest$ 

Je constate que j'ai le droit d'écrire (w) dans ce répertoire.

Je peux donc créer un fichier dans le répertoire monRep/ :

michel@debbull:~/monTest$ touch monRep/monFichier
michel@debbull:~/monTest$ 

Je modifie les attributs du répertoire monRep/ :

michel@debbull:~/monTest$ chmod 500 monRep/
michel@debbull:~/monTest$ 

Je visualise les attributs du répertoire monRep/ :

michel@debbull:~/monTest$ ls -ld monRep/
dr-x------ 2 michel michel 4096 11 juil. 08:31 monRep/
michel@debbull:~/monTest$ 

Je constate que je n'ai plus le droit d'écriture dans ce répertoire,
et donc, je ne pourrai plus modifier le contenu de ce répertoire <=> je ne pourrai plus créer supprimer des fichiers ou répertoires qu'il contiendrait.

J'essaye de supprimer le fichier contenu dans le répertoire monRep/ :

michel@debbull:~/monTest$ rm monRep/monFichier 
rm: impossible de supprimer 'monRep/monFichier': Permission non accordée
michel@debbull:~/monTest$ 

J'essaye de créer un nouveau fichier dans le répertoire monRep/ :

michel@debbull:~/monTest$ touch monRep/monAutreFichier
touch: impossible de faire un touch 'monRep/monAutreFichier': Permission non accordée
michel@debbull:~/monTest$ 

Dernière modification par MicP (Le 11/07/2021, à 08:01)

Hors ligne

#6 Le 11/07/2021, à 07:56

kicje

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

Pour sécuriser un fichier :

sudo chattr +i fichier

Pour supprimer l’attribut i :

sudo chattr -i fichier

Pour sécuriser un répertoire  :

sudo chattr +i -R répertoire

Et pour annuler cette action :

sudo chattr -i -R répertoire

http://www.planet-libre.org/index.php?post_id=14154

#7 Le 11/07/2021, à 09:36

Nuliel

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

+1 pour chattr +i

Hors ligne

#8 Le 11/07/2021, à 11:39

Coeur Noir

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

Alors chattr +i ou chattr +a ?

Dernière modification par Coeur Noir (Le 11/07/2021, à 11:40)


DébuterDocBien rédigerRetour commandeInsérer image | illustrations & captures d'écran <>

Hors ligne

#9 Le 11/07/2021, à 12:08

Nuliel

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

Pour la comparaison je mets ici ce que font les deux attributs

i      Un  fichier  avec l'attribut « i » ne peut pas être modifié : il
              ne peut pas être supprimé ou renommé, aucun lien  ne  peut  être
              fait  vers  lui,  la plupart des métadonnées ne peuvent pas être
              modifiées et on ne peut y accéder en écriture. Seul le superuti‐
              lisateur ou un processus doté de la capacité CAP_LINUX_IMMUTABLE
              peut ajouter ou retirer cet attribut.

       a      Un fichier avec l'attribut « a » ne peut être ouvert qu'en  mode
              ajout  pour l'écriture. Seul le superutilisateur ou un processus
              avec la capacité CAP_LINUX_IMMUTABLE peut ajouter  ou  supprimer
              cet attribut.

Hors ligne

#10 Le 11/07/2021, à 12:16

Coeur Noir

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

L'attribut i ( immutable ) si on ne veut plus rien faire du tout avec ce fichier à part le lire.

et l'attribut a ( append ) si on veut pouvoir écrire dans le fichier.

Avec l'un comme l'autre, la présence de l'attribut sur le fichier empêche sa suppression.

Reste à vérifier ce que font ces attributs sur un dossier - et à tester tout ça sur des fichiers et dossiers bidon dans un premier temps, histoire de s'assurer du comportement.


DébuterDocBien rédigerRetour commandeInsérer image | illustrations & captures d'écran <>

Hors ligne

#11 Le 11/07/2021, à 12:21

Compte supprimé

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

kicje a écrit :

Pour sécuriser un fichier :

sudo chattr +i fichier

Pour supprimer l’attribut i :

sudo chattr -i fichier

Pour sécuriser un répertoire  :

sudo chattr +i -R répertoire

Et pour annuler cette action :

sudo chattr -i -R répertoire

http://www.planet-libre.org/index.php?post_id=14154

Merci, pas mal cette rustine : mais il y a deux problèmes :
1) ça ne fonctionne pas sans sudo, l'utilisateur simple ne peut pas protéger ses fichiers s'il n'est pas dans le groupe sudo (à moins de modifier les droits de chattr pour pouvoir le lancer sans sudo ?)
2) Il n'est pas possible de faire l'opération à la souris dans les propriétés de fichiers.

C'était mieux géré sur Amiga (un peu comme Unix). Le fait de retirer le bit attribut w empêchait toute modification/effacement des fichiers/dossiers.
C'était logique en plus… Ça faisait la même chose que si on retirait physiquement le droit d'écriture sur la disquette, ou bien si on vérouillait la partition du disque dur en lecture seule.

Je ne sais pas si vous avez remarqué qu'avant Ubuntu 8.04 LTS un répertoire n'avait pas besoin du bit exécutable pour qu'on puisse le lister, l'attribut lecture (R) suffisait. C'était normal puis la 8.04 est arrivée et a bouleversé tout ça. Désormais il faut rendre exécutable un répertoire pour pouvoir le lister ! Ce n'est pas pratique puisque si jamais on fait chmox +x * pour lire tous les répertoires, on ajoute automatiquement l'exécution pour les fichiers, ce qui n'est pas sécurisé… alors il existe une syntaxe compliquée et impossible à mémoriser pour n'ajouter le bit x uniquement sur les sous-dossiers sans toucher aux fichiers… Point de bascule : 2008.

Édit : il était normal de donner les droits 640 aux répertoires avant 2008, aujourd'hui, on est obligés de donner les droits 750 pour lister ces dossiers…

Dernière modification par Compte supprimé (Le 11/07/2021, à 12:29)

#12 Le 11/07/2021, à 13:48

Coeur Noir

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

alors il existe une syntaxe compliquée et impossible à mémoriser
chmod +X
x majuscule donc, n'appliquera l'exécution que sur les dossiers, pas les fichiers ( ou sera sans influence sur des fichiers ou dossiers ayant déjà le droit d'exécution ).
ou chmod 755 sur dossiers pour rwxr-xr-x
et chmod 644 sur fichiers pour rw-r--r--
r=4 w=2 x=1 …c'est aussi vieux que les droits et permissions sous Linux ;-)

Si tu t'aperçois que tout le contenu ( fichiers comme sous-dossiers ) de DOSSIER_A est exécutable, pour remettre au propre tu fais

chmod   -R   a-rwx,u+rwX,g+rX,o+rX   DOSSIER_A

= t'enlèves tout ( a-rwx ), puis tu remets juste ce qu'il faut ( eXécution seulement sur les dossiers ).
a = all   u = utilisateur proprio   g = groupe proprio   o = les autres

à moins de modifier les droits de chattr pour pouvoir le lancer sans sudo ?
pas souhaitable, c'est une opération liée au système de fichiers, elle est forcément de la compétence de root uniquement.

Puis je viens de tester l'attribut a sur fichier et dossier → bof.
Marche pas comme je l'imaginais ( mon utilisateur ne peut plus rien écrire dès lors que l'attribut est placé ).
Mais c'est peut-être logique → les attributs s'appliquent au système de fichiers, ça ne concerne que root ???
Les attributs permettent d'empêcher root d'effacer des trucs, pourquoi pas.

Mais c'est pas ce qu'on cherchait.

Dernière modification par Coeur Noir (Le 11/07/2021, à 13:57)


DébuterDocBien rédigerRetour commandeInsérer image | illustrations & captures d'écran <>

Hors ligne

#13 Le 11/07/2021, à 14:00

Nuliel

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

L'attribut a permet d'ajouter, donc à tester avec >>.

nuliel@nuliel-desktop:~$ touch test
nuliel@nuliel-desktop:~$ sudo chattr +a test
nuliel@nuliel-desktop:~$ echo truc > test
bash: test: Opération non permise
nuliel@nuliel-desktop:~$ echo truc >> test
nuliel@nuliel-desktop:~$

L'idée des capabilities est de diviser les droits de root en morceaux, et ainsi d'éviter de devoir donner les droits root complets quand seule une petite partie est utile. Lorsqu'on exécute un programme qui nécessite des privilèges, on lui donne la capability adaptée qu'il lâche dès qu'il n'en a plus besoin. A noter que certaines capabilities sont équivalentes aux droits complets de root.
root a tous les droits. Par contre, il ne peut pas supprimer
On ne peut pas changer les attributs sans sudo (comme expliqué dans la partie que j'ai cité, il faut la capability CAP_LINUX_IMMUTABLE ou être root)

Hors ligne

#14 Le 11/07/2021, à 15:29

Compte supprimé

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

Coeur Noir a écrit :

alors il existe une syntaxe compliquée et impossible à mémoriser
chmod +X
x majuscule donc, n'appliquera l'exécution que sur les dossiers, pas les fichiers ( ou sera sans influence sur des fichiers ou dossiers ayant déjà le droit d'exécution ).
ou chmod 755 sur dossiers pour rwxr-xr-x
et chmod 644 sur fichiers pour rw-r--r--
r=4 w=2 x=1 …c'est aussi vieux que les droits et permissions sous Linux ;-)

Si tu t'aperçois que tout le contenu ( fichiers comme sous-dossiers ) de DOSSIER_A est exécutable, pour remettre au propre tu fais

chmod   -R   a-rwx,u+rwX,g+rX,o+rX   DOSSIER_A

= t'enlèves tout ( a-rwx ), puis tu remets juste ce qu'il faut ( eXécution seulement sur les dossiers ).
a = all   u = utilisateur proprio   g = groupe proprio   o = les autres

Ça me rappelle un sujet que j'avais posté sous L_d_v_c@ avec une syntaxe similaire sur le forum Ubuntu, mais je ne le retrouve plus alors je cherche… Je trouvais tout avec google mais c'est galère depuis que le site utilise qwant par défaut…

Édit : retrouvé avec google ! https://forum.ubuntu-fr.org/viewtopic.p … #p21681549

Édit2 : apparemment le changement s'est fait avant la 8.04 LTS… Je mentionne la 5.10.

Dernière modification par Compte supprimé (Le 11/07/2021, à 15:35)

#15 Le 11/07/2021, à 15:42

Compte supprimé

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

Merci à tous. J'ai mis [RÉSOLU] mais si d'autres astuces arrivent ? Ou si les droits Linux reviennent logiques comme avant du temps de la 5.10 ?
Ubuntu fonctionnait parfaitement en faisant chmod -R 640 ~ autrefois, pas besoin de jongler avec les dossiers…

Dernière modification par Compte supprimé (Le 11/07/2021, à 15:42)

#16 Le 12/07/2021, à 01:03

Coeur Noir

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

@L_d_v_c@ La distinction entre dossiers et fichiers existe depuis des lustres et ça n'est certainement pas Canonical/Ubuntu qui l'a « inventée » ni avant ni après la 5.10.
Cette distinction est utile à bien des égards. Je trouve que les droits et permissions sont plus faciles à gérer « en lettres » plutôt qu'avec leur format numérique ( 750, 640 ) qui justement ne permet pas le distinguo fichier/dossier.

chmod   -R   a-rwx,u+rwX,g+rX,o+rX   DOSSIER_A

aurait aussi pu s'écrire

chmod   -R  a-rwx,a+rX,u+w   DOSSIER_A

les actions de chmod sont traitées dans l'ordre où on les écrits, en toutes lettres :
à all j'enlève tous les droits puis à all je donne lecture et eXécution uniquement sur les dossiers et enfin à l'user propriétaire j'ajoute le droit écriture.
C'est assez explicite. Et en une seule commande Récursive, tu fais du 755 sur les dossiers et du 644 sur les fichiers, sur le DOSSIER_A ciblé ET son contenu.

Dans l'autre discussion tu évoques héritages et parents, à mon avis la confusion vient de là. Ça c'est le s-bit appliqué à l'utilisateur ou au groupe.
Possible qu'à une époque suid ou sgid étaient plus souvent suggérés ou utilisés, mais on obtient vite de ( gros ) problèmes de sécurité ( particulièrement avec suid ).
Sans doute pour ça que les s-bit sont rarement évoqués auprès d'utilisateurs « humains » d'un ordinateur de bureau, ce sont des outils « administratifs » qui requièrent une bonne connaissance du système sous-jacent et sont rarement pertinents dans un contexte pc de bureau avec un seul utilisateur.
Dans d'autres contextes ( plein de pc en réseau, tous multi sessions ) là forcément…

@Nuliel j'ai testé vite fait en « humain » normal. Sans terminal.
J'ai créé un fichier texte placé dans mon ~/Bureau.
Lui ai ajouté l'attribut a ( enfin sudo a fait ça pour moi ).
Après ça le fichier m'appartient toujours.
Je peux ouvrir, lire ce fichier avec attribut a dans Gedit mais il sera impossible de sauvegarder quelconque modification ( message du type « vous n'avez pas les permissions nécessaires » ).

Conclusion :
⋅ l'application Terminal a probablement la capability nécessaire ? Ou la commande echo l'a ? Gedit n'a pas ce qu'il faut apparemment.
⋅ aucun intérêt pour un utilisateur « normal » sur des fichiers/documents divers relevant d'un usage « humain ».
⋅ ne répond pas au souhait de départ : empêcher la suppression maladroite d'un fichier/document modifiable appartenant à l'utilisateur.

Dès lors que ça lui appartient l'utilisateur peut supprimer et je comprends très bien pourquoi on veut éviter cela sur certains fichiers « précieux » ou documents de travail récurrents.
Ça paraît même dingue qu'il n'y ait pas une méthode « simple » - accessible par le proprio du fichier en question - pour enclencher une telle protection.

@tous pour avis : Du coup je pense à une autre méthode, capillotractée : les liens durs ou directs ( en opposition à liens symboliques ).
Créer, sur la partition où résident les documents à protéger, un dossier « mes protégés » qui contiendraient des « liens durs » vers tous ces fichiers précieux.
Explication :
⋅ un fichier initial est ± un lien direct qui pointe un tas de 0 et de 1 sur un support ( via son inode, son numéro d'index dans le système de fichiers ).
⋅ on peut créer plusieurs liens directs pour cet unique tas de 0 et 1.
⋅ tant qu'un lien direct existe vers cet inode, le tas de 0 et 1 n'est pas effacé du disque.

Donc en planquant dans un dossier hors la vue des maladroits des liens directs vers des fichiers, on se garde un moyen de les récupérer.
À tester… pour le peu que j'ai essayé je dirais que ça répond plutôt bien au souhait initial.

La blague c'est que les commandes sont simplissimes, et sans sudo si cible et destination appartiennent au même utilisateur ( ou même groupe avec droits d'écriture ) :

cp   -l   /chemin/fichier/cible   /chemin/dossier/destination/

ou

ln   /chemin/fichier/cible   /chemin/dossier/destination/

Ce type de lien direct ne peut exister que sur des fichiers, pas des dossiers, et uniquement au sein d'une même partition ( voir doc liens pas très claire )

Pour voir combien de liens directs pointent vers un même fichier, simplement :

ls -l /fichier
-rw-rw-r-- 3 moi moi 134643 juin  14 19:12 /fichier
           ↑
          ici

et repérer pour un fichier donné ses divers liens directs :

alessandra@ASGARD:/media/DATA/alessandra/Bureau$ find . -samefile MR-56112768.pdf 
./A/MR-56112768.pdf
./B/MR-56112768.pdf
./MR-56112768.pdf
./C/MR-56112768.pdf
alessandra@ASGARD:/media/DATA/alessandra/Bureau$ 

Dernière modification par Coeur Noir (Le 12/07/2021, à 01:55)


DébuterDocBien rédigerRetour commandeInsérer image | illustrations & captures d'écran <>

Hors ligne

#17 Le 12/07/2021, à 07:02

Nuliel

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

@Coeur Noir: sudo t'a permis de lancer la commande chattr +a a avec les droits root, donc avec les droits nécessaires (en réalité la capability CAP_LINUX_IMMUTABLE suffisait). Le fichier t'appartient toujours c'est normal, le propriétaire n'a pas changé, il aurait été changé avec chown.

⋅ aucun intérêt pour un utilisateur « normal » sur des fichiers/documents divers relevant d'un usage « humain ».

Oui, les attributs tout comme les ACL sont inutiles pour un usage courant, les permissions classiques étant largement suffisantes généralement.

ne répond pas au souhait de départ : empêcher la suppression maladroite d'un fichier/document modifiable appartenant à l'utilisateur.

Techniquement la seule chose que tu peux faire, c'est ajouter à la fin du fichier, donc ça répond d'une manière à la question de départ.
A noter qu'il faut différencier suppression du fichier et modification de son contenu.
gedit a utilisé un fichier temporaire sur lequel il a tous les droits, et n'a pas pu enregistrer vers a à cause de l'attribut.

L'utilisateur normal peut retirer le bit w sur le dossier sans avoir besoin de quelconques capabilities, mais cela affecte tout le dossier et permet d'empêcher la suppression. C'est une solution pour l'utilisateur classique.

Ou sinon un système de sauvegarde des fichiers importants sur un support externe? smile

Dernière modification par Nuliel (Le 12/07/2021, à 07:03)

Hors ligne

#18 Le 12/07/2021, à 07:24

Compte supprimé

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

Merci Coeur Noir, mais beaucoup trop compliquée ta méthode avec les liens… il faut gérer deux chemins.

Sur Amiga (comme Unix) il suffisait de retirer à la souris d'un clic sur les attributs de fichiers ou dossiers le bit W pour basculer le fichier ou dossier en lecture seulement (read only) : du coup il n'y avait ni modification, ni effacement accidentel de ce fichier indépendamment du support (disquette/disque dur, SSD car oui j'utilisais les SSD en 1994 sauf que ça s'appelait disque électronique sous forme de carte PCMCIA). On pouvait retirer le bit W d'un répertoire pour protéger son contenu. On pouvait aussi carrément passer une partition de disque dur en read only.

Dernière modification par Compte supprimé (Le 12/07/2021, à 07:28)

#19 Le 12/07/2021, à 10:26

ylag

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

Bonjour,

Nuliel a écrit :

Ou sinon un système de sauvegarde des fichiers importants sur un support externe?

On revient toujours aux bonnes pratiques de base!  smile

A+

Hors ligne

#20 Le 12/07/2021, à 11:25

Coeur Noir

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

L_d_v_c@ a écrit :

trop compliquée ta méthode avec les liens… il faut gérer deux chemins.

C'est moins simple que la solution Amiga je te l'accorde ;-)

Mais en terme de « gestion », c'est plus ou moins qu'une « copie » : avec le lien direct tu n'as justement pas à gérer le chemin ( contrairement au lien symbolique ).

Note : certaines solutions de sauvegarde utilisent ces liens directs ( pour limiter le besoin d'espace disque ).


DébuterDocBien rédigerRetour commandeInsérer image | illustrations & captures d'écran <>

Hors ligne

#21 Le 12/07/2021, à 11:36

Coeur Noir

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

Nuliel a écrit :

@Coeur Noir: sudo t'a permis de lancer la commande chattr +a a avec les droits root, donc avec les droits nécessaires (en réalité la capability CAP_LINUX_IMMUTABLE suffisait). Le fichier t'appartient toujours c'est normal, le propriétaire n'a pas changé, il aurait été changé avec chown.

⋅ aucun intérêt pour un utilisateur « normal » sur des fichiers/documents divers relevant d'un usage « humain ».

Oui, les attributs tout comme les ACL sont inutiles pour un usage courant, les permissions classiques étant largement suffisantes généralement.

ne répond pas au souhait de départ : empêcher la suppression maladroite d'un fichier/document modifiable appartenant à l'utilisateur.

Techniquement la seule chose que tu peux faire, c'est ajouter à la fin du fichier, donc ça répond d'une manière à la question de départ.
A noter qu'il faut différencier suppression du fichier et modification de son contenu.
gedit a utilisé un fichier temporaire sur lequel il a tous les droits, et n'a pas pu enregistrer vers a à cause de l'attribut.

L'utilisateur normal peut retirer le bit w sur le dossier sans avoir besoin de quelconques capabilities, mais cela affecte tout le dossier et permet d'empêcher la suppression. C'est une solution pour l'utilisateur classique.

Ou sinon un système de sauvegarde des fichiers importants sur un support externe? smile

On ne se comprend pas visiblement - je dois mal expliquer ( et j'avais bien compris pour sudo chattr - c'était justement pour mentionner que la permission refusée n'était pas liée à l'utilisateur propriétaire mais bien à l'attribut a ).

Quand je lis le man de l'attribut a je me dis que ça doit marcher avec n'importe quel fichier dans n'importe quelle appli' → ça n'est pas le cas.
Car append ( ajouter des infos à un fichier ) ne signifie pas « modifier un fichier », par ex. un document LibreOffice avec Calc, ou un .xcf avec Gimp.
À priori ça ne fonctionnera qu'en modification brute sans « logiciel » intermédiaire.

Or l'utilisateur humain c'est ça qu'il cherche : pouvoir travailler comme il l'entend sur ses affaires - tout en les protégeant d'un effacement accidentel, maladroit - avec ses appli's préférées habituelles.


DébuterDocBien rédigerRetour commandeInsérer image | illustrations & captures d'écran <>

Hors ligne

#22 Le 12/07/2021, à 11:59

Nuliel

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

Coeur Noir a écrit :

Quand je lis le man de l'attribut a je me dis que ça doit marcher avec n'importe quel fichier dans n'importe quelle appli' → ça n'est pas le cas.
Car append ( ajouter des infos à un fichier ) ne signifie pas « modifier un fichier », par ex. un document LibreOffice avec Calc, ou un .xcf avec Gimp.
À priori ça ne fonctionnera qu'en modification brute sans « logiciel » intermédiaire.

Oui, c'est d'ailleurs le but des retours au post 13: on voit qu'on ne peut qu'ajouter à la fin du fichier (donc avec >>) fonctionne, mais pas la modification du reste du contenu

Hors ligne

#23 Le 13/07/2021, à 08:20

Compte supprimé

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

Nuliel a écrit :
Coeur Noir a écrit :

Quand je lis le man de l'attribut a je me dis que ça doit marcher avec n'importe quel fichier dans n'importe quelle appli' → ça n'est pas le cas.
Car append ( ajouter des infos à un fichier ) ne signifie pas « modifier un fichier », par ex. un document LibreOffice avec Calc, ou un .xcf avec Gimp.
À priori ça ne fonctionnera qu'en modification brute sans « logiciel » intermédiaire.

Oui, c'est d'ailleurs le but des retours au post 13: on voit qu'on ne peut qu'ajouter à la fin du fichier (donc avec >>) fonctionne, mais pas la modification du reste du contenu

A comme Append (Ajouter) ? C'est bien pour des fichiers journaux. Les applications peuvent écrire dedans à la suite mais non les modifier…

#24 Le 13/07/2021, à 08:29

Nuliel

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

Oui

Hors ligne

#25 Le 13/07/2021, à 08:30

Compte supprimé

Re : [RÉSOLU] droits Linux, effacements accidentels fichiers protégés.

Coeur Noir a écrit :
L_d_v_c@ a écrit :

trop compliquée ta méthode avec les liens… il faut gérer deux chemins.

C'est moins simple que la solution Amiga je te l'accorde ;-)

Mais en terme de « gestion », c'est plus ou moins qu'une « copie » : avec le lien direct tu n'as justement pas à gérer le chemin ( contrairement au lien symbolique ).

Note : certaines solutions de sauvegarde utilisent ces liens directs ( pour limiter le besoin d'espace disque ).

Certes, mais cette solution avec les liens n'empêche en rien de modifier ou d'effacer le fichier cible, qui ne sera plus lié à la «sauvegarde». Je parlais bien d'une protection genre interdiction d'écrire sur le fichier, le répertoire ou le disque, un peu comme les disquettes en lecture seule avec le petit loquet fermé (Pas sous Windows évidemment puisqu'il existait un application pour écrire sur les disquettes protégée… vive la sécurité !!).