Montage fstab et cifs, possible de stocker des informations d'authentification en dehors de fstab?

10

J'utilise actuellement cifs pour monter certains partages réseau (qui nécessitent une authentification) dans / etc / fstab. Cela fonctionne très bien, mais je voudrais déplacer les détails d'authentification (nom d'utilisateur / passe) en dehors de fstab et pouvoir le chmod 600 (car fstab peut avoir des problèmes si je devais changer ses autorisations). Je me demandais s'il était possible de faire cela (système à plusieurs utilisateurs, je ne veux pas que ces autorisations soient visibles par tous les utilisateurs).

de:

//server/foo/bar /mnt/bar cifs username=user,password=pass,r 0 0

à:

//server/foo/bar /mnt/bar cifs <link to permissions>,r 0 0

(ou quelque chose d'analogue à cela). Merci.

TJ L
la source

Réponses:

11

Depuis la page de manuel mount.cifs:

informations d'identification = nom de fichier
    spécifie un fichier contenant un nom d'utilisateur et / ou un mot de passe. Le format du fichier est:

                         nom d'utilisateur = valeur
                         mot de passe = valeur
   Ceci est préférable à la présence de mots de passe en texte brut dans un fichier partagé, comme / etc / fstab. Assurez-vous de protéger correctement tout fichier d'informations d'identification.

janneb
la source
2
Notez que le vague «Assurez-vous de protéger correctement tout fichier d'informations d'identification». signifie généralement que vous devez enregistrer le fichier (en tant que root) /root/, et chmod 700cela
Nate Parsons
ma connexion a également besoin d'une domain=valuepartie
vladkras
3
J'avais espéré que la situation serait différente sept ans plus tard , mais malheureusement, il semble que ce soit toujours la «meilleure» réponse. Et ce n'est pas sécurisé à distance. Chaque personne ayant sudoaccès au serveur peut lire .smbcredentials. Dans mon cas, le fichier contiendrait - à moins que je n'aie forcé quelqu'un d'autre à abandonner le leur - _des_credits de connexion Windows. Par exemple, les mêmes informations d'identification à connexion unique que j'utilise pour accéder à tous les systèmes d'Evil Corp, y compris la paie, les avantages sociaux, etc.? Semble lourd de dangers. Quelque chose comme ça peut être un peu plus sûr: askubuntu.com/a/1081421 .
evadeflow
1
La syntaxe de ce fichier est délicate. Ne mettez pas de lignes vides ni même # commentsdedans.
David Tonhofer
8

Utilisez l'option d'informations d'identification telles que:

http://www.justlinux.com/nhf/Filesystems/Mounting_smbfs_Shares_Permanently.html

Exemple tiré du site Web:

cd
echo username=mywindowsusername > .smbpasswd
echo password=mywindowspassword >> .smbpasswd
chmod 600 .smbpasswd

Remplacez votre nom d'utilisateur et votre mot de passe Windows dans les commandes. Personne d'autre que root ne pourrait lire le contenu de ce fichier.

Une fois cela créé, vous modifieriez la ligne dans le fichier / etc / fstab pour ressembler à ceci:

//servername/sharename /mountdirectory smbfs credentials=/home/myhomedirectory/.smbpasswd 0 0

exemple de / etc / fstab:

//server/share/   /mnt/localmountpoint   cifs   credentials=/root/.creda

Le message de janneb et le lien vers la page de manuel montrent ce qui doit être présent dans le fichier d'informations d'identification.

damorg
la source
2
Merci, les deux réponses ont été utiles (j'aurais dû lire les pages de manuel). Si je pouvais marquer 2 réponses comme la bonne réponse, je le ferais.
TJ L
pas de soucis ... une fois que j'ai vu la réponse de janneb, il était clair que la réponse était couverte :)
damorg
6

J'accumule donc les deux réponses

  1. Créer un fichier, par exemple /root/.cifs

    username=value
    password=value
    domain=value (optional)
    
  2. définir l'autorisation 600( autorisation rw) pour protéger vos informations d'identification

    # chmod 600 /root/.cifs
    
  3. passer credentials=/root/.cifsà votre commande au lieu de username=etpassword=

Vladkras
la source
2
Commentaire extra-mineur: le chmodn'est pas nécessaire, car le répertoire personnel de root l' /rootest rwx------déjà, espérons-le .
David Tonhofer
J'ai rencontré des problèmes en utilisant uniquement le nom d'utilisateur et le mot de passe, lorsque j'ai essayé de monter un dossier partagé Windows, sur Red Hat Linux. J'ai réussi seulement après avoir ajouté le domaine au fichier d'informations d'identification. Il me semblait que, dans ce cas, les informations de domaine sont très recommandables.
aldemarcalazans