Ik kom een probleem tegen waarbij het aankoppelen van een externe CIFS-server zonder een fstab-item werkt, maar het aankoppelen via fstab niet .

Het volgende commando werkt:

$ sudo mount -t cifs //w.x.y.z/Home$ /mnt/dir -o domain=A,username=B,password="C",sec=ntlmssp,file_mode=0700,dir_mode=0700 

Als ik echter in plaats daarvan de volgende regel toevoeg aan / etc / fstab en probeer te mounten door het mount commando (bijv. mount -a of mount /mnt/dir), ontvang ik de foutmelding hieronder:

$ tail -n 1 /etc/fstab //w.x.y.z/Home$ /mnt/dir cifs domain=A,username=B,password="C",sec=ntlmssp,file_mode=0700,dir_mode=0700 

fout:

$ sudo mount /mnt/csif mount error(13): Permission denied Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) 

Expliciet instellen van dump en fsck pass order 0 helpt niet. Beide commandos lijken hetzelfde te doen

Answer

Wanneer je het mount commando typt, zal het deel password="C" wordt eerst afgehandeld door de shell en wordt password=C voordat het bij het mount commando komt. Dit wordt niet gedaan met fstab-items, dus u moet de enkele aanhalingstekens verwijderen. Als uw wachtwoord speciale tekens bevat, kunt u deze vervangen door hun octale code, in het bijzonder \040 voor spatie.

Reacties

  • Ik moest aanhalingstekens gebruiken om shell-interpolatie van speciale tekens in het wachtwoord te voorkomen. Het verwijderen van de aanhalingstekens in combinatie met het vervangen van octale waarden voor het wachtwoord ' s speciale tekens loste mijn probleem op. Dank je.

Antwoord

Het is een goede gewoonte om wachtwoorden niet rechtstreeks in /etc/fstab (die normaal gesproken door iedereen gelezen kan worden). Plaats ze in plaats daarvan in een bestand en verwijs naar het bestand zoals:

//w.x.y.z/Home$ /mnt/dir cifs credentials=/home/username/cifs.creds,sec=ntlmssp,file_mode=0700,dir_mode=0700 

/home/username/cifs.creds is eigendom van een geschikte gebruiker (ofwel root, of een gebruiker die overeenkomt met de SMB-gebruiker die eigenaar is van de SMB-share), en chmod og-rwx . Het bevat de inloggegevens in de indeling

domain=A username=B password=C 

A, B en C hierboven moeten letterlijk zijn – er is geen shell-achtige ontleding van aanhalingstekens of backslashes.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *