Jeg støter på et problem der montering av en ekstern CIFS-server uten fstab-oppføring fungerer, men montering gjennom fstab virker ikke .
Følgende kommando fungerer:
$ 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
Hvis jeg i stedet legger til følgende linje i / etc / fstab og prøver å montere av mount
-kommandoen (f.eks. mount -a
eller mount /mnt/dir
), får jeg feilen som er oppført nedenfor:
$ 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
feil:
$ sudo mount /mnt/csif mount error(13): Permission denied Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Angir eksplisitt dump og fsck passordre til 0 hjelper ikke. Begge kommandoene ser ut til å gjøre det samme
Svar
Når du skriver inn mount-kommandoen, vil delen password="C"
håndteres først av skallet og blir password=C
før det kommer til mount-kommandoen. Dette gjøres ikke med fstab-oppføringer, så du må fjerne de enkelte anførselstegnene. Hvis passordet ditt inneholder spesialtegn, kan du erstatte dem med deres oktale kode, spesielt \040
for plass.
Kommentarer
- Jeg trengte å bruke anførselstegn for å unngå skallinterpolering av spesialtegn i passordet. Fjerning av anførselstegn i forbindelse med erstatning av oktale verdier for passordet ' s spesialtegn løste problemet mitt. Takk.
Svar
Det er god praksis å unngå å legge passord direkte i /etc/fstab
(som vanligvis er verdenslesbar). Sett dem i stedet i en fil, og referer til filen som:
//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
eies av en passende bruker (enten root eller en bruker som tilsvarer SMB-brukeren som eier SMB-andelen), og chmod og-rwx
. Den inneholder legitimasjonen i formatet
domain=A username=B password=C
A
, B
og C
ovenfor må være bokstavelig – det er ingen skalllignende analyse av anførselstegn eller tilbakeslag.