Minulla on ongelma, jossa CIFS-etäpalvelimen asentaminen ilman fstab-merkintää toimii, mutta asentaminen fstabin kautta ei .
Seuraava komento toimii:
$ 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
Jos kuitenkin lisätään seuraava rivi tiedostoon / etc / fstab ja yritän asentaa mount
-komennolla (esim. mount -a
tai mount /mnt/dir
), saan virheilmoituksen alla:
$ 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
virhe:
$ sudo mount /mnt/csif mount error(13): Permission denied Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Asetetaan nimenomaisesti dump- ja fsck-passitukset 0 ei auta. Molemmat komennot näyttävät tekevän saman asian
Answer
Kun kirjoitat mount-komennon, osa password="C"
käsittelee ensin kuori ja siitä tulee password=C
, ennen kuin se pääsee mount-komentoon. Tätä ei tehdä fstab-merkinnöillä, joten sinun on poistettava yksittäiset lainausmerkit. Jos salasanasi sisältää erikoismerkkejä, voit korvata ne oktaalikoodillaan, erityisesti \040
välilyönnillä.
Kommentit
- Minun oli käytettävä lainausmerkkejä välttääksesi salasanan erikoismerkkien kuoren interpoloinnin. Lainausmerkkien poistaminen yhdessä oktaaliarvojen korvaamisen kanssa salasanan ' erikoismerkeissä ratkaisi ongelmani. Kiitos.
Vastaa
On hyvä käytäntö välttää salasanojen asettamista suoraan kohtaan /etc/fstab
(joka on yleensä maailman luettavissa). Laita ne sen sijaan tiedostoon ja viita tiedostoon seuraavasti:
//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
omistaa sopiva käyttäjä (joko pääkäyttäjä tai käyttäjä, joka vastaa SMB-käyttäjää, joka omistaa SMB-jaon), ja chmod og-rwx
. Se sisältää tunnistetiedot muodossa
domain=A username=B password=C
A
, B
ja C
on oltava kirjaimellisia – lainausmerkkien tai taaksepäin viivojen jäsentämistä ei ole.