#1 Le 28/04/2016, à 14:44
- elendil
[RESOLU] Pourquoi mount change le propriétaire d'un point de montage ?
Bonjour,
Je voudrais pouvoir monter une partition occasionnellement (à terme via un script et cron).
Pour cela je voudrais que l'utilisateur puisse monter la partition sans les droits root.
J'ai donc ajouter à mon /etc/fstab la ligne suivante:
UUID=UUIDdeMaPartition /mnt/backup ext4 rw,noexec,noauto,user,async 0 2
J'ai créé le dossier /mnt/backup et lui ait donné les droits de mon utilisateur:
$ ls -l /mnt
drwxrwxr-x 2 root utilisateur 4,0K avril 27 16:11 backup
Si je monte la partition avec la ligne de commande suivante :
$ mount /mnt/backup
J'ai alors les droits du dossier backup qui sont changé et seul root peut alors écrire dans ce dossier.
$ ls -l /mnt
drwxr-xr-x 3 root root 4096 avril 27 15:51 backup
Savez vous pourquoi cela se produit (le fait que mount change les permissions du point de montage) ? Et comment on peut faire en sorte d'avoir les droits de l'utilisateur lors du montage manuel ?
Elendil
Dernière modification par elendil (Le 29/04/2016, à 13:21)
Hors ligne
#2 Le 28/04/2016, à 14:52
- Rufus T. Firefly
Re : [RESOLU] Pourquoi mount change le propriétaire d'un point de montage ?
Salut,
Je pense qu'il y a plusieurs choses. D'abord /mnt est un répertoire système et tu n'as pas du tout intérêt à changer ses caractéristiques. Ensuite ton point de montage n'est pas /mnt, mais /mnt/backup. C'est donc plutôt sur backup qu'il convient d'opérer...
La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme
Hors ligne
#3 Le 28/04/2016, à 15:01
- elendil
Re : [RESOLU] Pourquoi mount change le propriétaire d'un point de montage ?
Oui et c'est bien le dossier backup qui change de droit pas /mnt. D'où mon problème...
Hors ligne
#4 Le 28/04/2016, à 15:42
- Postmortem
Re : [RESOLU] Pourquoi mount change le propriétaire d'un point de montage ?
Salut,
Peut-être que la racine de ta partition appartient à root, tout simplement.
Le fait de mettre "user" dans les options de montage permet simplement de pouvoir la monter sans être root.
Mais si ce qu'il y a dans cette partition appartient à root, il est normal que le point de montage reflète ces droits.
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#5 Le 28/04/2016, à 15:55
- elendil
Re : [RESOLU] Pourquoi mount change le propriétaire d'un point de montage ?
La partition est vide et nouvellement créée pour recevoir les backup... Du coup elle "n'appartient à personne en particulier".
/mnt appartient à root c'est certain et je ne vais pas toucher à ce dossier.
Par contre le démontage de la partition restaure les droits de /mnt/backup à:
$ ls -l /mnt
drwxrwxr-x 2 root utilisateur 4,0K avril 27 16:11 backup
Ce qui signifie que le montage via la commande mount modifie le group du dossier backup.
C'est ce qui me perturbe au plus haut point ; tant sur le problème que ça me pose que sur la phylosophie de fonctionnement de mount que du coup je ne comprends pas...
PS : Le choix de user dans le fstab est fait délibérément pour qu'un script de backup puisse monter la partition sans avoir les droits root et la démonter à la fin de la manip.
Hors ligne
#6 Le 28/04/2016, à 17:37
- Postmortem
Re : [RESOLU] Pourquoi mount change le propriétaire d'un point de montage ?
Une interrogation... Est-ce que la racine d'un disque n'est pas forcément propriété de root:root, avec des droits par défaut en 755 ??
Y'a un expert système par ici ?!
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#7 Le 28/04/2016, à 18:27
- erresse
Re : [RESOLU] Pourquoi mount change le propriétaire d'un point de montage ?
Une interrogation... Est-ce que la racine d'un disque n'est pas forcément propriété de root:root, avec des droits par défaut en 755 ??
Y'a un expert système par ici ?!
Je ne suis pas expert, mais je crois qu'en effet, la racine du volume est propriété de "root", pour les partitions en EXTn du moins, car ce n'est pas vrai pour les partitions en FAT ou NTFS (les droits >Linux n'étant pas gérés...).
Chez moi, tous les montages sont la propriété de "root", je crée ensuite un répertoire subordonné que j'attribue à l'utilisateur qui peut ainsi lire et écrire et créer des sous-répertoires dans cet espace, mais jamais sur la racine du volume (qui correspond au point de montage).
Exemple:
/mnt/volume --> "root"
/mnt/volume/utilisateur --> "utilisateur"
/mnt/volume/utilisateur/toto --> "utilisateur"
...
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#8 Le 28/04/2016, à 19:36
- HP
Re : [RESOLU] Pourquoi mount change le propriétaire d'un point de montage ?
@erresse +1
cat /dev/urandom >/dev/null 2>&1 #github
Hors ligne
#9 Le 29/04/2016, à 13:20
- elendil
Re : [RESOLU] Pourquoi mount change le propriétaire d'un point de montage ?
@erresse: Merci pour l'explication ça semble coller avec mes tests.
Et c'est aussi ce qui est dit ici : https://www.ibm.com/developerworks/comm … 15?lang=en
Hors ligne
#10 Le 29/04/2016, à 14:46
- moko138
Re : [RESOLU] Pourquoi mount change le propriétaire d'un point de montage ?
Attention elendil !
Vous vous êtes réglé sur de méchants modèles
D'abord parce ton lien est un tuto pour RedHat, qui est une autre famille d'Unix :
Les développeurs prennent les sources du noyau Linux et l'améliorent [Hum... "l'adaptent" serait moins partial] pour qu'il corresponde à certains besoins.
Ensuite, tu auras remarqué que 90% des commandes de ton tuto sont passées en root.
Un comble, en matière de sécurité.
- -
Si, la racine d'une partition peut très bien appartenir à un user. Chez moi :
moi@Trusty:~$ ls -l / |grep -i dat
drwxr-x--- 5 moi moi 4096 déc. 22 13:21 data1000 # PARTITION en ext4
moi@Trusty:~$ ls -la /media/moi/
total 20
drwxr-x---+ 5 root root 4096 avril 28 15:55 . # /media/moi/
drwxr-xr-x 3 root root 4096 déc. 17 12:09 .. # /media/
drwxr-xr-x 5 moi moi 4096 mars 13 14:16 data500 # PARTITION en ext4
drwxr-xr-x 2 moi moi 4096 janv. 18 15:29 zzzzzzz # point de montage vide, fait main
drwx------ 4 moi moi 4096 janv. 1 1970 yyyyyy # PARTITION de test en fat32
Mais sous le point de montage des partitions "data", je préconise comme erresse de créer
- un dossier partagé
- et un dossier par user.
- -
Par contre, elendil, je vois une anomalie dans ton
$ ls -l /mnt
drwxrwxr-x 2 root utilisateur 4,0K avril 27 16:11 backup
car c'est plutôt quelque chose comme
drwxrwxr-x 2 utilisateur root 4,0K avril 27 16:11 backup
qu'on devrait voir.
Donc je te conseille
sudo chown -R 1000:root /mnt/backup
(ce qui peut prendre plusieurs dizaines de secondes, voire minutes, parce qu'en principe un backup est très peuplé),
à moins qu'erresse ou quelqu'un d'autre n'ait une meilleure idée.
------------
P.S. :
/data1000 dans mon fstab
UUID=... /data1000 ext4 defaults 0 2
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#11 Le 29/04/2016, à 16:19
- moko138
Re : [RESOLU] Pourquoi mount change le propriétaire d'un point de montage ?
Dans ton fstab actuel,
rw,noexec,noauto,user,async
j'avais d'abord cru comprendre ton choix de "user". Mais,
Le programme mount ne lit pas le fichier /etc/fstab si périphérique (ou l'étiquette (LABEL) ou l'UUID) et rép sont indiqué. (sic)
Ne serait-ce pas le cas dans ton script ?
Et as-tu vérifié que, dans tes alias, mount n'est pas envoyé vers sudo mount ?
Chacun des deux répondrait à ta question en #1 :
Si je monte la partition avec la ligne de commande suivante :
$ mount /mnt/backup
J'ai alors les droits du dossier backup qui sont changé et seul root peut alors écrire dans ce dossier.
Parce que
$ mount
tout de même, même si le groupe du point de montage est "utilisateur", ça m'interpelle...
-----
P.S. : je vois qu'entre temps tu as marqué "[RESOLU]". Pourrais-tu récapituler ta solution pour ceux qui viendront après, en quête de solution ?
Merci !
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#12 Le 13/07/2016, à 05:47
- elendil
Re : [RESOLU] Pourquoi mount change le propriétaire d'un point de montage ?
Salut moko138,
Merci pour tes messages.
Oui j'ai résolu mon problème en faisant ce que préconisait erresse c'est à dire ajouter un dossier dans la racine du point de montage qui appartient à l'utilisateur.
En laissant les options de montage du fstab telles que décrites dans mon premier post. Ça permet de mon la partition sans être root.
Elendil
Hors ligne
#13 Le 13/07/2016, à 06:17
- MicP
Re : [RESOLU] Pourquoi mount change le propriétaire d'un point de montage ?
…que l'utilisateur puisse monter la partition sans les droits root.…
Utilisez la commande udisksctl et en plus de ne pas nécessiter les privilèges du compte root, vous n'aurez même pas besoin de nommer/créer/supprimer les points de mountages.
Avant de connecter le disque, je lance :
udisksctl monitor
Une fois la clef connectée et détectée, je peux faire un CTRL-C pour arrêter udisksctl monitor
Voici ce qui s'est affiché :
michel@debg53sw:~$ udisksctl monitor
Monitoring the udisks daemon. Press Ctrl+C to exit.
06:57:14.600: The udisks-daemon is running (name-owner :1.34).
06:57:20.645: Added /org/freedesktop/UDisks2/block_devices/sde
org.freedesktop.UDisks2.Block:
Configuration: []
CryptoBackingDevice: '/'
Device: /dev/sde
DeviceNumber: 2112
Drive: '/org/freedesktop/UDisks2/drives/USB_DISK_2_2e0_060FF1106022226388900123'
HintAuto: true
HintIconName:
HintIgnore: false
HintName:
HintPartitionable: true
HintSymbolicIconName:
HintSystem: false
Id:
IdLabel:
IdType:
IdUUID:
IdUsage:
IdVersion:
MDRaid: '/'
MDRaidMember: '/'
PreferredDevice: /dev/sde
ReadOnly: false
Size: 4105175040
Symlinks: /dev/disk/by-id/usb-USB_DISK_2.0_060FF1106022226388900123-0:0
/dev/disk/by-path/pci-0000:00:1d.0-usb-0:1.1.3:1.0-scsi-0:0:0:0
org.freedesktop.UDisks2.PartitionTable:
Type: dos
06:57:20.811: Added /org/freedesktop/UDisks2/block_devices/sde1
org.freedesktop.UDisks2.Block:
Configuration: []
CryptoBackingDevice: '/'
Device: /dev/sde1
DeviceNumber: 2113
Drive: '/org/freedesktop/UDisks2/drives/USB_DISK_2_2e0_060FF1106022226388900123'
HintAuto: true
HintIconName:
HintIgnore: false
HintName:
HintPartitionable: true
HintSymbolicIconName:
HintSystem: false
Id: by-uuid-ee0b7896-b6b0-40a3-a1c0-cddf482c4d38
IdLabel: partTst4G
IdType: ext3
IdUUID: ee0b7896-b6b0-40a3-a1c0-cddf482c4d38
IdUsage: filesystem
IdVersion: 1.0
MDRaid: '/'
MDRaidMember: '/'
PreferredDevice: /dev/sde1
ReadOnly: false
Size: 4104126464
Symlinks: /dev/disk/by-id/usb-USB_DISK_2.0_060FF1106022226388900123-0:0-part1
/dev/disk/by-label/partTst4G
/dev/disk/by-path/pci-0000:00:1d.0-usb-0:1.1.3:1.0-scsi-0:0:0:0-part1
/dev/disk/by-uuid/ee0b7896-b6b0-40a3-a1c0-cddf482c4d38
org.freedesktop.UDisks2.Filesystem:
MountPoints:
org.freedesktop.UDisks2.Partition:
Flags: 0
IsContained: false
IsContainer: false
Name:
Number: 1
Offset: 1048576
Size: 4104126464
Table: '/org/freedesktop/UDisks2/block_devices/sde'
Type: 0x83
UUID: 5d90b415-01
^C
michel@debg53sw:~$
Du coup, je connais le nom du fichier de périphérique qui me permettra d'accéder à ce disque,
et j'ai même les éventuelles partitions existantes sur le disque (dans cet exemple, il n'y en a qu'une)
Et maintenant, toute la magie de cette commande :
michel@debg53sw:~$ udisksctl mount -b /dev/sde1
Mounted /dev/sde1 at /media/michel/partTst4G.
michel@debg53sw:~$
Voilà : udisksctl a créé un point de mountage (il n'existait pas) et y a mounté la partition sans que j'ai eu besoin d'utiliser le compte root ou ses privilèges.
NOTE : Le nom du point de mountage choisit par udisksctl a été le nom de label de la partition,
mais s'il n'y avait pas eu de label, udisksctl aurait utilisé l'UUID du système de fichiers de la partition.
Le démountage : (attention au n dans unmount )
michel@debg53sw:~$ udisksctl unmount -b /dev/sde1
Unmounted /dev/sde1.
michel@debg53sw:~$ ls -l /media/michel/
total 0
michel@debg53sw:~$
Et le point de mountage a été supprimé automatiquement.
Dernière modification par MicP (Le 13/07/2016, à 06:48)
Hors ligne