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.

#51 Le 17/03/2022, à 09:01

iznobe

Re : Montage NTFS avec corbeille fonctionnelle

Bonjour @Coeur Noir , merci pour ces precisions et complement d' informations . j ' aurais encore appris quelquechose wink


retour utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#52 Le 17/03/2022, à 12:11

geole

Re : Montage NTFS avec corbeille fonctionnelle

Coeur Noir a écrit :

Par contre, je suis étonné qu'un utilisateur « normal, non root » puisse créer une corbeille lui appartenant à la racine de la partition EXT4 :

Bonjour coeur noir
Dans cet échange, je voulais uniquement tester  la partie NTFS  et éventuellement EXFAT, si j'ai mis   des "copier" EXT4, il ne faut pas spécialement les prendre comme significatifs. Mon ordinateur portable n'est pas géré dans les règles de l'art. J'ouvre le point de montage à tout le monde. Chaque "utilisateur"  peut alors se fabriquer facilement son propre environnement et le sécuriser, comme il n'a pas interdiction d'écrire à la racine, il peut fabriquer automatiquement sa corbeille en y mettant des droits plus restrictifs.
Comme l'utilisateur n'est pas limité à un pourcentage d'espace disque de la partition, il peut utiliser 100% l'espace de la partition, alors cela  ne me choque absolument pas s'il peut aussi  crééer un répertoire au premier niveau.
Je suis toujours surpris que les autres ne puissent pas lire sa corbeille alors qu'ils peuvent lire ses données personnelles.

Ce qui fait que  j'ai déjà perdu les données trois fois mais jamais à cause du chmod 777 au premier niveau.
La première, une faute de frappe.

sudo   dd if=/dev/zero   of=/dev/sda 6

  J'en ai retenu qu'il faut que la partition de données personnelles soit installée derrière le logiciel qui fait alors office de bouclier.
La seconde, unne erreur  stupide:       A force de jouer la réinstallation  de la version 22.04 sur tout un disque, j'attendais tranquillement  en surfant  dans le forum.     Au bout d'un certain temps, j'ai pensé que c'était le moment de regarder sur quel  disque il allait installer. Avec surprise, il était en train d'installer sur sda. J'en ai déduis que si au bout d'un certain temps, on  n'avait pas répondu  à sa question, il prenait une décision.    Je n'ai pas fait un second test pour confirmation. Mais depuis, je ne fais plus de multitache pendant cette phase de démarrage.
La troisième  certainement un gros bug de gparted dans un environnement très spécificique (import de partition ZFS),    En supprimant une partition ZFS, il supprime  la table de partition.

Pour le problème multi-utilisateurs  EXFAT, Si on veut sécuriser, il devrait rester la solution une partition par utilisateur avec montage citant UUID (non testé).


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#53 Le 17/03/2022, à 21:01

Coeur Noir

Re : Montage NTFS avec corbeille fonctionnelle

Dans cet échange, je voulais uniquement tester  la partie NTFS  et éventuellement EXFAT, si j'ai mis   des "copier" EXT4, il ne faut pas spécialement les prendre comme significatifs

Alors il ne fallait pas les mettre ;-) Mais c'est intéressant que tu les aies mis car ils montrent une erreur couramment commise avec les montages de partition.

Je suis toujours surpris que les autres ne puissent pas lire sa corbeille alors qu'ils peuvent lire ses données personnelles.

Il faut distinguer ces deux notions : celles de propriétaires et celle de droits.

Dans un système de fichiers compatible Linux, chaque élément ( fichier, dossier ) de donnée porte en lui-même, contient ces informations :
⋅ son utilisateur propriétaire, sous forme d'uid numérique,
⋅ son groupe propriétaire, sous forme de gid numérique,
⋅ ce que l'utilisateur a le droit de faire dans cet élément, ( lire r, écrire w, exécuter x mais aussi hériter s ou circonscrire t )
⋅ ce que le groupe a le droit de faire dans cet élément,
⋅ ce que les les autres ont le droit de faire dans cet élément. Les autres c'est le monde entier, tous ceux en dehors de l'utilisateur et du groupe propriétaires.

→ attention : un élément - quel qu'en soit les propriétaires - qui accorde aux autres les droits rwx est un élément à poil, dans lequel n'importe qui peut faire n'importe quoi.
→ une telle situation n'est envisageable qu'à un seul endroit : une partition sur un périphérique de stockage nomade, externe, genre DD externe, clé usb, carte mémoire… ( la partition pourra appartenir à root:root mais avec droits rwxrwxrwx ).

Ces informations étant portées par les éléments eux-mêmes, elles sont invariables, fixes quel que soit le système utilisé pour accéder à ces éléments :
un élément appartenant à 1000:0 avec droits 750 ( rwxr-x--- ) montrera ces infos là depuis tout système Linux/unix qui lit cet élément.
En littéral, ça attribuera le nom du premier utilisateur créé sur ce système à 1000, et root à 0.
Pour modifier ces informations, il faut modifier l'élément qui les porte avec les commandes :
chown pour les propriétaires,
chmod pour les droits.

Ici, en partant de ton exemple EXT4 :

⋅ la corbeille .Trash-1000 appartient à 1000:1000 et donne les droits rwx uniquement à l'utilisateur : situation saine par défaut d'une corbeille jugée « confidentielle » :

 4 drwx------ 4 a    a     4096 mars   8 12:41 .Trash-1000

T'as pas forcément envie que n'importe qui sache ce que tu as jeté à la poubelle : des fichiers compromettants, ta vieille collection de p0rn, des lettres de licenciement, tes relevés de comptes off-shore, etc.

⋅ le dossier parent, contenant, c'est à dire le dossier /media/TESText4 qui sert de point de montage à cette partition, appartient lui aussi à 1000:1000 ( qui se trouve être a dans ce système ) et accorde les droits rwx uniquement à l'utilisateur :

 4 drwx------ 5 a    a     4096 mars   8 12:41 .

Donc ici seul l'utilisateur d'uid 1000 ( a ) peut lire écrire exécuter dans cet élément ( ce dossier ) autrement dit seul a peut y créer, modifier, supprimer des éléments.
Un utilisateur d'uid 1000 ne pourra rien faire ni voir « directement » dans toute cette partition ( puisque des droits n'ont été conférés qu'au seul utilisateur propriétaire du point de montage ).

⋅ par contre l'élément DOSSIER, lui, accorde des droits à davantage de monde :

 4 drwxrwxr-x 2 a    a     4096 mars   8 12:41 DOSSIER

dans ce dossier :
⋅ l'utilisateur propriétaire a peut rwx dedans,
⋅ les membres du groupe propriétaire a peuvent aussi rwx dedans,
les autres, le reste du monde, peuvent seulement r-x dedans ( c'est à dire ouvrir/traverser ce dossier, lire son contenu, pas y écrire ni supprimer ).

→ Est-ce que tu vois mieux pourquoi « les autres ne [peuvent] pas lire sa corbeille alors qu'ils peuvent lire ses données personnelles » ?

→ Maintenant on peut se demander l'intérêt d'avoir DOSSIER avec des droits pour davantage de monde cependant que son « parent » TESText4 lui est « restreint » à l'utilisateur a ?
En l'état un utilisateur b qui serait membre du groupe a ne peut pas directement accéder à DOSSIER puisque TESText4 n'accorde aucun droit au groupe a.

_______________________________________________

Voilà pourquoi « jouer » avec les propriétaires et droits sur un point de montage est rarement pertinent :
celui-ci traite la partition, qui est un élément matériel géré par le système.

Lorsque tu crées un tel point de montage, via :

sudo mkdir /chemin/point/de/montage

ça produit un dossier appartenant à root:root avec droits rwxr-xr-x et ça suffit, d'un point de vue matériel, physique :
⋅ seul l'utilisateur propriétaire root peut écrire, modifier, supprimer dans cet élément,
⋅ les membres du groupe propriétaire root n'ont que lecture dans cet élément,
les autres, le reste du monde, n'ont que lecture dans cet élément et ça c'est très important ! Car ça permet à quiconque sur ce système d'accéder à cette partition ( mais pas d'y écrire, seulement voir ou accéder ).

Maintenant, tu fabriques sur ce matériel, sur ce volume physique, des emplacements logiques pour ranger des données → résumé en 2 mots → des dossiers.
Et c'est sur ces dossiers que tu adaptes les propriétaires et droits en fonction de tes besoins, d'un point de vue logiciel, ou d'un point vue « humain »,
avec par exemple un dossier « principal » par utilisateur potentiel, un dossier appartenant à chacun de ces humains.
Et puisqu'on est à la racine d'une partition, un dossier « corbeille » pour chacun ( ou une générale pour tous, qui sera par conséquent moins confidentielle ).
Ou pas de corbeille du tout → dans ce cas, la suppression d'un élément provenant de cette partition est immédiate et définitive ( en graphique après un dialogue de confirmation ).

sudo mkdir /point/de/montage/{$USER,.Trash-$UID}
sudo chown $USER: /point/de/montage/{$USER,.Trash-$UID}

Sans aller plus loin ces 2 dossiers appartiennent dorénavant à l'utilisateur ET au groupe $USER avec droits rwxr-xr-x.
Seul cet $USER peut donc écrire modifier supprimer dans ces éléments.
Les membre du groupe et le reste du monde ont lecture/accès uniquement.

De là, sur ces dossiers, il n'y a plus qu'à gérer les droits ( et uniquement eux ) en fonction des besoins, et sans sudo car l'utilisateur propriétaire d'un élément est le seul autorisé à en modifier les droits :

chmod 700 /point/de/montage/$USER

→ seul l'$USER peut rwx ( mode solo, parano )

chmod 2770 /point/de/montage/$USER

→ l'utilisateur et les membres de son groupe peuvent rwx ( mode je partage en lecture + écriture qu'avec des gens que je connais ) + héritage du groupe du dossier sur les éléments contenus ( tout élément créé dans ce dossier prendra $USER comme groupe propriétaire, permettant l'application des droits de ce groupe même si l'élément a un autre utilisateur propriétaire ).

chmod 755 /point/de/montage/$USER

→ seul l'$USER peut rwx, son groupe et le reste du monde peuvent lire, accéder ( mode je partage avec tout le monde mais en lecture uniquement )

chmod 750 /point/de/montage/$USER

→  seul l'$USER peut rwx, son groupe peut lire, accéder, le reste du monde rien du tout ( mode je partage en lecture uniquement et seulement avec des gens que je connais ).

Comme le dossier parent, le point de montage, appartient à root:root un utilisateur ne peut pas effacer par inadvertance un élément lui appartenant, à ce niveau d'arborescence ( et tant mieux, il ne voudrait pas effacer par mégarde son dossier « principal » dans lequel il gère ses affaires ). Il fait bien sûr tout ce qui lui plaît dans son dossier principal ( il peut donc quand même effacer toutes ses affaires : par analogie, il peut vider « sa chambre » mais il ne peut pas faire disparaître « sa chambre » ).

→ la partition reste accessible à quiconque ; l'accès aux données inscrites sur cette partition est fonction des propriétaires et droits que les données portent elles-mêmes.

Là ce ne sont que des exemples relativement courants mais toutes sortes de nuances, combinaisons sont possibles :
⋅ dans un dossier aux droits 2770 ( mode partage lecture + écriture ), tu peux très bien mettre des éléments en 0700 → ceux-là ne seront visibles et utilisables que par l'utilisateur propriétaire, ils seront invisibles et inutilisables à tous les autres quand bien-même le dossier et le reste de son contenu restent accessibles en lecture + écriture aux membres du groupe,
⋅ le cas particulier du dossier /tmp → il est en 1777 → n'importe qui y fait n'importe quoi mais seul l'utilisateur propriétaire d'un élément peut le supprimer.

_______________________________________________

sources → https://www.redhat.com/sysadmin/suid-sgid-sticky-bithttps://doc.ubuntu-fr.org/droitshttps://doc.ubuntu-fr.org/permissions

Note concernant le droit d'exécution selon la nature des éléments :
⋅ sur un dossier le droit d'exécution correspond à ouvrir / traverser le dossier. Il y est donc obligatoire ( sans droit d'exécution un dossier perd sa « fonction » principale ).
⋅ sur un fichier, le droit d'exécution est optionnel, il n'est utile que sur les scripts, lanceurs, programmes, binaires… des fichiers dont on ne consulte pas le contenu mais qu'on lance, qu'on exécute pour qu'ils réalisent des actions.
⋅ une commande récursive chmod -R avec droits numériques ( par ex. 750 ) ne permet pas de traiter séparément fichiers et dossiers, alors qu'avec droits littéraux elle permet cette nuance :

chmod -R a+X /chemin/vers/dossier

ajoutera pour tout le monde ( a = all ) le droit d'exécution au dossier et éléments qu'il contient, mais pas sur les fichiers, seulement sur les dossiers.
Alors que :

chmod -R a+x /chemin/vers/dossier

ajouterait pour tout le monde ( a = all ) le droit d'exécution au dossier et tous les éléments qu'il contient, y compris tous les fichiers → un .jpg, un .odt, un .pdf ou un .mp3 n'ont pas besoin d'être exécutables, ils ne sont que consultés par les logiciels associés à leur type MIME.

Dernière modification par Coeur Noir (Le 20/03/2022, à 03:49)


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

Hors ligne

#54 Le 17/03/2022, à 21:24

Coeur Noir

Re : Montage NTFS avec corbeille fonctionnelle

Là idéalement, faudrait que je fasse le même « cours » pour traiter le cas d'un système de fichiers non-compatible propriétaires et droits Linux. Pas le temps maintenant mais je le ferai…

Quand on « importe » dans Linux ( par montage d'une partition ) un système de fichiers non compatible, il n'y a donc pas d'infos concernant d'éventuels propriétaires et droits, exploitables par Linux, dans les données contenues par cette partition.

Il y a des infos comparables à propriétaires et droits, inscrites dans ces données - mais elles ne sont directement exploitables que par l'OS compatible avec ce système de fichiers.

Alors que fait Linux dans ce cas ?

Dernière modification par Coeur Noir (Le 17/03/2022, à 21:34)


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

Hors ligne