Mam problem z montowaniem zdalnego serwera CIFS bez wpisu fstab, ale montowanie przez fstab nie .

Następujące polecenie działa:

$ 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 

Jednakże, jeśli zamiast tego dodam następujący wiersz do / etc / fstab i spróbuję zamontować poleceniem mount (np. mount -a lub mount /mnt/dir) otrzymuję wymieniony błąd poniżej:

$ 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 

błąd:

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

Jawne ustawienie kolejności zrzutu i przejścia fsck na 0 nie pomaga. Oba polecenia wydają się robić to samo

Odpowiedź

Po wpisaniu polecenia montowania część jest najpierw obsługiwany przez powłokę i staje się password=C, zanim dotrze do polecenia montowania. Nie dzieje się to w przypadku wpisów fstab, więc musisz usunąć pojedyncze cudzysłowy. Jeśli hasło zawiera znaki specjalne, możesz je zastąpić kodem ósemkowym, w szczególności \040 spacją.

Komentarze

  • Musiałem użyć cudzysłowów, aby uniknąć interpolacji powłoki znaków specjalnych w haśle. Usunięcie cudzysłowów w połączeniu z podstawieniem wartości ósemkowych dla znaków specjalnych hasła ' rozwiązało mój problem. Dziękuję.

Odpowiedź

Dobrą praktyką jest unikanie umieszczania haseł bezpośrednio w /etc/fstab (który jest normalnie czytelny dla wszystkich). Zamiast tego umieść je w pliku i odwołaj się do pliku w stylu:

//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 należy do odpowiedniego użytkownika (root lub użytkownika odpowiadającego użytkownikowi SMB, który jest właścicielem udziału SMB) oraz chmod og-rwx . Zawiera poświadczenia w formacie

domain=A username=B password=C 

A, B i C powyżej muszą być dosłowne – nie ma powłoki parsującej cudzysłowy lub ukośniki odwrotne.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *