Je sais que la commande par défaut ressemblerait à ceci:
Sudo mount -t cifs -o username=YOUR_USERNAME,password=YOUR_PASSWORD,uid=YOUR_UBUNTU_USERNAME //networkNameOfRemoteComputer/path/to/my/folder /path/to/mounting/dir
Cependant, je souhaite monter un dossier de partage Samba sans coder en dur mon mot de passe. Je considère que le risque est élevé si le mot de passe est visible. est-ce que quelqu'un a une idée?
(Dans une version précédente de cette question, j'avais également demandé un montage sans droits Sudo, mais il semble que ce ne soit tout simplement pas possible :()
Utilisez plutôt la commande mount.cifs
, car elle permet de spécifier un fichier d'informations d'identification ou d'inviter un mot de passe si aucun n'est fourni.
Installation
Tout d’abord, vérifiez que les packages nécessaires sont installés en lançant la commande suivante:
Sudo apt-get install cifs-utils
MÉTHODE 1 - UTILISER UN FICHIER D'IDENTITÉS
Selon le manuel http://manpages.ubuntu.com/manpages/raring/man8/mount.cifs.8.html :
OPTIONS
[...]
credentials = nomfichier spécifie un fichier contenant un nom d'utilisateur et/ou un mot de passe et éventuellement le nom du groupe de travail. Le format du fichier est:nom d'utilisateur = valeur
mot de passe = valeur
domaine = valeur
Usage:
mount.cifs //<hostname_or_ip>/<cifs_share> <local_mountpoint> -o user=<user_to_connect_as>,rw,credentials=<path_to_the_credentials_file>
Exemple:
Sudo mount.cifs //domain.com/share /mnt/domain_com -o user=admin,rw,credentials=/root/.credentials
Il est important de noter que "name_of_the_user_to_connnect_as" peut également contenir le domaine ou le groupe de travail:
user=workgroup/user
user=domain/user
(Selon votre environnement, vous aurez besoin de plus ou moins d'options.)
En ce qui concerne la sécurité, il devrait suffire de stocker le fichier d’identifiants dans le répertoire/root, mais si vous voulez le stocker ailleurs,
Sudo chown root <file>
MÉTHODE 2 - Invite PASSWORD
Si, comme indiqué, vous ne souhaitez pas que votre mot de passe soit visible, ne spécifiez pas l'option "mot de passe" dans votre commande mount.cifs
.
De la page de manuel à l’adresse http://manpages.ubuntu.com/manpages/hardy/man8/mount.cifs.8.html
mot de passe = arg
specifies the CIFS password. If this option is not given then the environment variable PASSWD is used. If the password is not specified directly or indirectly via an argument to mount mount.cifs will Prompt for a password, unless the guest option is specified. Note that a password which contains the delimiter character (i.e. a comma ’,’) will fail to be parsed correctly on the command line. However, the same password defined in the PASSWD environment variable or via a credentials file (see below) or entered at the password Prompt will be read correctly.
En conséquence, la commande suivante doit demander un mot de passe:
mount.cifs //<hostname_or_ip>/<cifs_share> <local_mountpoint> -o user=<user_to_connect_as>,rw
Testé et fonctionne comme prévu: