Question Linux - Monter un appareil avec des droits d'utilisateur spécifiques


Comment puis-je monter un appareil avec des droits d'utilisateur spécifiques au démarrage? J'ai encore des problèmes à résoudre. Je voudrais monter la division avec uid=1000 et gid=1000. Mon entrée actuelle à la /etc/fstab/ fichier ressemble à ceci:

dev /var/www vboxsf rw, suid, dev, exec, auto, nouser, async, uid=1000

72
2017-08-08 12:32


origine


N'oubliez pas gui = 1000. En outre, quels sont les droits de propriété / droits sur / var / www. Il devrait appartenir à root. - skub
@skub: le propriétaire de /var/www/ est la racine. dev /var/www vboxsf rw, suid, dev, exec, auto, nouser, async, uid=1000 gui=1000 ne fonctionnait pas si bien (Ubuntu a supprimé l'entrée après un redémarrage échoué). - wowpatrick
Votre source de montage est "dev" ?? - James T Snell
@wowpatrick - votre périphérique de montage devrait être quelque chose comme / dev / sda1, il ne devrait pas être "dev". - skub
@skub: C'est un dossier partagé VirtualBox, donc / dev is est correct. Je l'ai compris maintenant, sudo mount -t vboxsf -o umask=0022,gid=33,uid=33 dev /var/www fonctionne très bien. - wowpatrick


Réponses:


Pour monter un appareil avec certains droits, vous pouvez utiliser le -o Option directive lors du montage de l'appareil. Pour monter le périphérique que vous avez décrit, exécutez:

 mount -t deviceFileFormat -o umask=filePermissons,gid=ownerGroupID,uid=ownerID /device /mountpoint

Par exemple, montez un dossier partagé VirtualBox sur /var/www avec www-data en tant que propriétaire ressemblerait à ceci:

mount -t vboxsf -o umask=0022,gid=33,uid=33 dev /var/www

Si vous souhaitez monter le périphérique au démarrage, vous pouvez ajouter l'entrée suivante à votre /etc/fstab fichier:

 /device /mountpoint deviceFileFormat umask=filePermissons,gid=ownerGroupID,uid=ownerID

Encore une fois, avec le même exemple l'entrée dans le /etc/fstab fichier ressemblerait à ceci:

dev /var/www vboxsf umask=0022,gid=33,uid=33

Pour les systèmes de fichiers qui ne prennent pas en charge le montage en tant qu’utilisateur spécifique (tel que ext4), les erreurs ci-dessus se produiront.

Unrecognized mount option "uid=33" or missing value

pour changer le propriétaire d'un montage ext4, lancez simplement

chown username /mountpoint

après qu'il a été monté.


95
2017-08-08 23:26



J'ai pu utiliser l'option uid / gid sur ext4. - CMCDragonkai
Cela ne semble pas fonctionner avec mount --bind, j'utilise un système de fichiers btrfs - meffect


Pour un système de fichiers tel que ext3 ou ext4, après avoir fait

    chown -R username:group /mountpoint

pour changer le propriétaire des fichiers existants, vous pouvez définir le bit d'ID de groupe pour créer de nouveaux fichiers avec le groupe spécifique (ne fonctionne pas pour l'ID utilisateur sous Linux):

    find /mountpoint -type d -exec chmod g+ws {} \;

L'entrée Wikipedia sur setuid et setgid est assez informative, voir le section sur les répertoires.


1
2017-09-14 14:24



La modification de la propriété de tous les fichiers sur le périphérique est très invasive. Comme il y a un -o option pour le montage, c'est la meilleure façon. - Limited Atonement
-o ne fonctionne malheureusement pas pour ext4, comme expliqué dans la réponse de @wowpatrick. - js.
chownle contenu du lecteur monté à un autre utilisateur est ridicule. Vous n'avez aucune idée de ce que vous pourriez casser pour les applications sur ce disque. Cela peut aller si tout le contenu appartient à votre utilisateur, mais c'est un très gros non-no ... - carlspring
Le périphérique en question est / dev / www, il est facile de contrôler quelles applications y ont accès (probablement uniquement un serveur WWW, que vous pouvez désactiver pendant l'opération). Même si l'application qui l'utilise est toujours en cours d'exécution, elle continuera à fonctionner, car c'est le but de l'opération. - js.