web-dev-qa-db-fra.com

Montage de partage CIFS par utilisateur à l'aide d'AutoFS

Chaque utilisateur doit pouvoir accéder à un partage de groupe cifs en utilisant ses propres informations d'identification lors de la navigation dans un dossier spécifique ~/groupdrive à l'intérieur de son dossier personnel. Les informations d'identification sont stockées dans un fichier ~/.cifs_credentials.

J'ai implémenté cela en utilisant pam_mount mais je suis coincé avec des tonnes de doublons et des montages non correctement montés.

Comment puis-je implémenter ce comportement en utilisant autofs? Est-il possible de monter plusieurs fois le partage sur le même point de montage, par exemple/mnt/groupdrive avec des informations d'identification différentes et une liaison symétrique à partir du dossier de départ?

1
Fab

Vous pouvez utiliser des variables dans autofs, ce qui peut constituer une solution à votre besoin. Chacun a sa propre façon de faire des autofs et c'est la mienne. Je viens de faire ceci sur Ubuntu 18.04 principalement pour voir si cela fonctionne toujours avec cette version:

J'ai édité /etc/auto.master et à la dernière ligne, j'ai ajouté:

/mnt/Samba /etc/auto.sambashares --timeout=30 --ghost

J'ai volontairement créé le dossier parent/mnt/Samba et non quelque chose sous/media ou le répertoire de base car il en résulte une confusion importante de la part du système d'exploitation.

J'ai édité /etc/auto.sambashares et ajouté une ligne en utilisant les variables $ {HOME} et dans mon cas les $ {UID}:

GroupShare -fstype=cifs,rw,credentials=${HOME}/.cifs_credentials,uid=${UID},iocharset=utf8 ://server/share

Puis redémarré le service autofs.

Lorsque usera accède à/mnt/Samba/GroupShare (auquel on peut ajouter un signet), ses informations d'identification à /home/usera/.cifs_credentials seront utilisées pour accéder au partage et userb utilisera ses propres informations d'identification dans son propre répertoire personnel.

Méthode alternative pour les utilisateurs simultanés:

** Créez un dossier parent sous/mnt pour chaque utilisateur - exemple:/mnt/bob et/mnt/mary.

** Changer de propriétaire pour chaque utilisateur (c'est-à-dire, Sudo chown bob/mnt/bob)

** Limiter l'accès à cet utilisateur uniquement (Sudo chmod 0770/mnt/bob)

** Remplacez la ligne auto.master par deux:

/mnt/bob/Samba /etc/auto.sambashares-bob --timeout=30 --ghost
/mnt/mary/Samba /etc/auto.sambashares-mary --timeout=30 --ghost

** Créez ensuite les deux fichiers auto.sambashares-xxx ayant chacun la même ligne:

GroupShare -fstype=cifs,rw,credentials=${HOME}/.cifs_credentials,uid=${UID},iocharset=utf8 ://server/share
1
Morbius1