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.

#26 Le 13/07/2021, à 15:05

Coeur Noir

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

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»
Décidément je dois très mal m'exprimer.
La cible dans le cas d'un lien direct c'est directement les 0 et les 1 stockés sur le disque.
Les 0 et 1 du fichier existent aussi longtemps qu'un lien direct les cible.
Tant que tu n'effaces pas TOUS les liens directs pointant ces 0 et 1, tu n'effaces pas ton fichier.
Et TOUS les liens directs sont en permanence « liés » à ton unique paquet de 0 et 1 ( la modification est écrite quel que soit le lien utilisé pour accéder aux 0 et 1 de cet unique fichier )
Donc tu peux
1⋅ effacer un lien direct d'un côté sans perdre l'autre, rangé dans le dossier où tu planques tes « protégés ».
2⋅ enlever le droit « écriture » sur un lien si tu veux aussi empêcher la modification du fichier


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

Hors ligne

#27 Le 13/07/2021, à 16:06

Compte supprimé

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

Je referai des essais avec les liens pour mieux comprendre car je ne suis pas très fort en ligne de commandes Linux.

#28 Le 13/07/2021, à 19:49

Coeur Noir

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

Oui c'est l'idéal pour comprendre ces histoires de liens directs / liens symboliques : faire des essais avec des dossiers et fichiers bidons.

Au final tu verras peut-être que le lien symbolique est suffisant dans ton contexte : lui peut se créer « en graphique » depuis l'explorateur de fichiers et il est quand même bien plus « facile » à repérer que le lien direct ( qui est fondamentalement une abstraction ).

Un lien symbolique est un fichier spécial ( ± un raccourci ) qui pointe un autre fichier.
Effacer un lien symbolique n'efface pas la cible du lien.
On peut déplacer / renommer / copier un lien symbolique sans impact sur la cible.
Le lien symbolique transfère les droits et permissions de l'objet qu'il cible ( la cible peut se régler en lecture seule, depuis son lien symbolique ou depuis le fichier source lui-même, et cela depuis l'explorateur de fichiers, en graphique ).
Il peut cibler un fichier ou un dossier, qu'importe où il se trouve ( tant qu'il s'agit d'un système de fichiers monté dans ton système ).
Si la cible du lien n'est pas accessible ( parce que le fichier source aurait été déplacé, ou que son support n'est pas actuellement monté ) alors le lien apparaît cassé.
Il (re) devient fonctionnel dès lors que la source est en place.

Avec tout ça ( les liens symboliques ), pour protéger des fichiers de l'effacement, tu pourrais tester cette « stratégie » :
⋅ crée un dossier « mes protégés » appartenant à root:root dans /home ( à côté des dossiers utilisateurs ) avec droits rwxr-xr-x
⋅ dans « mes protégés » crée un dossier par utilisateur potentiel, appartenant à root:un_utilisateur avec droits rwxrwx---
⋅ dans chacun de ces dossiers utilisateur (dé)place leurs fichiers et dossiers précieux ( de sorte que ces précieux ne soient plus dans chaque /home/utilisateur/… )
⋅ dans chaque /home/utilisateur/… tu places alors un lien symbolique par fichier ou dossier qui ciblera la ressource souhaitée dans '/home/mes protégés/un_utilisateur/…'

De cette façon :
⋅ chaque utilisateur peut agir sur les cibles via leurs liens en fonction des droits qu'elles portent ( ça peut donc être lecture seule / pas de modification, ou écriture )
⋅ mais au pire l'utilisateur ne peut effacer que le lien symbolique dans son /home/utilisateur/… sans mettre en péril la cible qui, elle, restera sagement dans '/home/mes protégés/un_utilisateur/…'

Bien sûr ça n'empêche pas l'utilisateur d'accéder volontairement à '/home/mes protégés' ( via autres emplacements / ordinateur ) mais là :
dans '/home/mes protégés' seul root peut effacer ou ajouter un élément - l'utilisateur ne pourra pas effacer son propre dossier sans passer par sudo.
dans '/home/mes protégés/un_utilisateur' là dedans un_utilisateur fait ce qu'il veut. Il peut donc quand même effacer des documents précieux, mais il doit vraiment le faire exprès en passant par le chemin '/home/mes protégés/…' qui n'est pas accessible à première vue dans son explorateur de fichiers.
⋅ seul root peut changer les droits des dossiers un_utilisateur ( tu peux par exemple enlever le droit écriture au groupe d'un dossier pour que son contenu ne soit qu'en lecture seule - ce qui laisse la possibilité d'écrire dans des sous-dossiers qui eux accorderaient le droit d'écriture au groupe ce cet un_utilisateur → le « premier niveau » visible est protégé de l'effacement / la modification )
⋅ les autres ( autres qu'utilisateurs ou groupes ) n'ont aucun accès à ces dossiers un_utilisateur.
⋅ sachant que tu peux ajouter des utilisateurs à un groupe, les membres d'un même groupe prenant les droits que ce dossier accorde au groupe, tu peux organiser le partage des données précieuses entre divers utilisateurs.

Les commandes pour créer les dossiers :

django@ASGARD:~$ cd /home
django@ASGARD:/home$ sudo mkdir 'mes protégés'
[sudo] Mot de passe de django : 
django@ASGARD:/home$ sudo chmod 755 mes\ protégés
django@ASGARD:/home$ sudo mkdir mes\ protégés/django
django@ASGARD:/home$ sudo chown root:django mes\ protégés/django/
django@ASGARD:/home$ sudo chmod 770 mes\ protégés/django/
django@ASGARD:/home$

À répéter/adapter en fonction des utilisateurs.

Une fois cela fait tu peux te passer de commandes :
Dans l'explorateur de fichiers ( Nautilus, Nemo… ) quand on est dans des systèmes de fichiers « linuxiens », sélectionner un ou des éléments puis [ ctrl ] + [ M ] crée à côté d'eux des « Liens vers { nom de l'élément } » que tu n'as plus qu'à placer où bon te semble. Liens symboliques dans ce cas dont l'icône porte un emblème en forme de petite flèche.
Avec Nautilus on peut avoir besoin de « réactiver » la fonction lien au clic droit ( c'est dans ses préférences, comportement ).

Quand on est dans un emplacement non-linuxien ( ntfs, fat… ) :
⋅ tu ouvres une fenêtre de Nautilus sur l'emplacement « source » qui contient les éléments qui t'intéressent et une deuxième fenêtre sur l'emplacement « destination » où tu voudras leurs liens symboliques.
⋅ côté source tu sélectionnes le ou les éléments souhaités puis, tout en enfonçant les touches [ ctrl ] + [ maj ], tu fais un glisser-déposer de tes éléments sélectionnés vers la destination, ça créera les liens dans la destination.
Commande équivalente :

ln   -s   /chemin/dossier/source/{élément_1,élément_2,élément_3}  /chemin/dossier/destination/

qui créera dans /chemin/dossier/destination/ trois liens nommés élément_1, élément_2 et élément_3.

Le principe des liens existe aussi sous ntfs ou fat mais il peut difficilement se traduire automatiquement d'un système de fichiers à l'autre ( faute à l'absence des droits et permissions sous ntfs, fat, etc )
Or en graphique avec Nautilus, Nemo… on se place dans la source pour y créer un lien qu'on déplace ensuite vers sa destination ( dans ce sens, tu auras un message « le système de fichiers ne prend pas en charge ce type de lien » )
L'explorateur de fichiers Dolphin, lui, agit dans l'autre sens : on se place dans la destination pour y créer le lien, auquel on indique la source ( dans ce sens, pas de problème puisqu'on écrit le lien directement sur un système de fichiers compatible ).

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


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

Hors ligne