web-dev-qa-db-fra.com

Mapper un lecteur réseau smbnetfs à l'aide de fstab et .smbnetfs.conf

Je souhaite qu'un mappage de réseau soit disponible pour l'utilisateur via smbnetfs au démarrage du système sans avoir à taper smbnetfs /media/network à chaque fois. J'ai donc utilisé cette entrée dans /etc/fstab:

smbnetfs /media/network Fuse rw,users,noauto,allow_other 0 0

Et cela fonctionne, le mappage est là et il monte lorsque je clique dessus en utilisant n’importe quel gestionnaire de fichiers, mais le problème est qu’il cherchera le fichier de configuration à /root/.smb/smbnetfs.conf, et que l’utilisateur ne pourra pas y accéder. la Samba partage avec ses propres informations d'identification.

Comment puis-je dire à smbnetfs d'obtenir le bon emplacement pour le fichier de configuration de l'utilisateur? Je ne voulais pas changer le fichier /root/.smb/smbnetfs.conf parce que différents utilisateurs ont besoin de mapper ce partage.

3
vmassuchetto

Dans la section Files de la page de manuel smbnetfs, vous pouvez lire:

Veuillez créer le répertoire de configuration ~/.smb. Ce répertoire doit contenir au moins deux fichiers: smb.conf et smbnetfs.conf. Vous pouvez copier smb.conf à partir du répertoire/etc/samba. Vous pouvez trouver un exemple de smbnetfs.conf dans le répertoire/etc.

Si cela fonctionne comme annoncé, vous devriez pouvoir contourner le fichier conf racine.

2
Ian Robertson

En fait, la documentation sur smbnetfs indique qu'elle lit $ {HOME} /. Smb pour l'utilisateur qui a émis la commande mount et que depuis vmassuchetto, rendant mount par fstab, cet utilisateur sera root.

Il y a cependant une solution: Dans /root/.smb/smbnetfs.conf est une chaîne:

#read auth data from ~/.smb/smbnetfs.auth
include                    "smbnetfs.auth"

Si ma mémoire est bonne, par défaut, cela devrait être commenté. Si le chemin d'accès à smbnetfs.auth n'est pas fourni, comme dans l'exemple ci-dessus, smbnet fs le recherchera dans ~/.smb/. Vous pouvez donc placer smbnetfs.auth n'importe où sur le système de fichiers et avec toutes les autorisations nécessaires pour donner à l'utilisateur le moyen de le modifier. Je suggérerais vmassuchetto de supprimer le commentaire et de créer un fichier /root/.smb/smbnetfs.auth avec un contenu fluide:

auth USER_NAME "USER_PASSWORD"
auth WORKGROUP USER_NAME "USER_PASSWORD"
auth COMPUTER_NAME USER_NAME "USER_PASSWORD"
auth COMPUTER_NAME/SHARE_NAME USER_NAME "USER_PASSWORD"

La première ligne indiquera à smbnetfs comment traiter tous les ordinateurs non spécifiquement mentionnés. La deuxième ligne indiquera à smbnetfs comment gérer tous les ordinateurs du groupe de travail et/ou du domaine portant ce nom. La troisième ligne fournira les informations d’identification pour un ordinateur spécifique et d’autres pour un partage sur un ordinateur spécifique. Toutes les chaînes doivent commencer par Word auth pour les informations d'identification ou par # pour les commentaires. Tous les paramètres peuvent être placés dans " pour protéger des symboles spéciaux, de la même manière que "USER_PASSWORD" dans l'exemple ci-dessus. Le paramètre USER_NAME peut être spécifié avec le nom de domaine ou le groupe de travail en tête: DOMAIN_OR_WORKGROUP/USER_NAME

Et en dernier recours, vous pouvez toujours utiliser cette commande:

cd /media/network/DOMAIN_OR_WORKGROUP:USER_NAME:USER_PASSWORD@COMPUTER_NAME
1
hash