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 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 ?

Postmortem a écrit :

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 résolu, 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 :

fr.wikipedia.org/wiki/Red_Hat a écrit :

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,

man mount a écrit :

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