Actuellement, nos clients Ubuntu se connectent aux partages cifs lors du démarrage du système via/etc/fstab. Cela présente les inconvénients suivants:
Ce que j'ai déjà testé avec succès sur nos clients Ubuntu: Utiliser l'authentification Kerberos lors de la connexion de l'utilisateur - un ticket Kerberos est donc disponible pour l'utilisateur.
tilisation de ce ticket kerberos pour (Sudo) monter le partage cifs dans un service utilisateur systemd
tilisation de ce ticket kerberos pour monter dynamiquement le partage à partir des navigateurs de fichiers nautilus et thunar
Donc, ce que je voudrais, c'est accéder au partage cifs comme j'accède à un partage nfs.
Je pourrais monter un partage CIFS plusieurs fois, séparément pour chaque utilisateur dans son répertoire personnel, mais
Y a-t-il un moyen de monter le partage CIFS au démarrage par l'utilisateur root, sans spécifier un utilisateur se connectant, puis en utilisant les autorisations d'un utilisateur accédant (par exemple via un ticket kerberos)?
Merci d'avance, Bastian
Vous pouvez y parvenir en utilisant automount et l'option multi-utilisateur de mount.cifs. Installez les packages requis:
Sudo apt install autofs keyutils cifs-utils
L'exemple suivant suppose que le serveur cifs exporte un partage nommé d'après l'utilisateur qui y accède. Normalement, cela conviendrait aux répertoires personnels.
Ajoutez ceci à votre /etc/auto.master
:
/cifs /etc/auto.cifs
Dans /etc/auto.cifs
, mettez ceci:
* -fstype=cifs,multiuser,cruid=${UID},sec=krb5 ://server.domain/&
Assurez-vous de remplacer server.domain par votre serveur de fichiers. Vous pouvez également utiliser un partage fixe de cette façon. Il suffit de remplacer le *
par un nom fixe et également le &
.
Un détail important dans la configuration ci-dessus est le cruid=${UID}
. Cela obligera le noyau à rechercher un ticket kerberos dans le contexte de l'utilisateur accédant au partage. Sinon, ce serait d'essayer le cache de tickets de racines.
Enfin recharger automount:
Sudo service autofs reload
Si vous avez un ticket kerberos, il montera le système de fichiers /cifs/$USER
lors du premier accès. Cela signifie que vous devez explicitement taper e. g. cd /cifs/myuser
ou une action similaire dans un navigateur de fichiers GUI. Pour éviter cela, vous pouvez placer des liens symboliques pointant vers cet endroit et indiquer aux utilisateurs d'y accéder.
Si vous utilisez un partage fixe (n'utilisez pas *
et &
), vous devrez bien sûr taper cd /cifs/sharename
.
L'accès ultérieur par d'autres utilisateurs au même partage utilisera leurs autorisations , rendues possibles par l'option multiuser
. Aucun montage supplémentaire ne sera fait mais celui existant sera réutilisé.
De mount.cifs (8) :
multiuser Map user accesses to individual credentials when accessing the server. By default, CIFS mounts only use a single set of user credentials (the mount credentials) when accessing a share. With this option, the client instead creates a new session with the server using the user's credentials whenever a new user accesses the mount. Further accesses by that user will also use those credentials. Because the kernel cannot Prompt for passwords, multiuser mounts are limited to mounts using sec= options that don't require passwords.
Il est également possible d'ajouter les cartes de montage automatique requises à un serveur LDAP pour une gestion centralisée, mais cela dépasse probablement le cadre de cette réponse.
Dans votre question, vous avez demandé que le montage soit monté en tant que root au démarrage. Techniquement, cela se fait ici sous la forme d’un support de remplacement pour autofs. En pratique, le montage réel est effectué uniquement lors du premier accès d'un utilisateur.
Nous utilisons cette configuration pour environ 100 clients sur mon lieu de travail pour accéder à un système de fichiers très volumineux, ce qui fonctionne de manière fiable.