Linux
通過 fstab 使用憑證文件使用 cifs 掛載 NAS 驅動器不起作用
我可以通過以下方式安裝驅動器,沒有問題:
mount -t cifs //nas/home /mnt/nas -o username=username,password=pass\!word,uid=1000,gid=100,rw,suid
但是,如果我嘗試通過 fstab 安裝它,我會收到以下錯誤:
//nas/home /mnt/nas cifs iocharset=utf8,credentials=/home/username/.smbcredentials,uid=1000,gid=100 0 0 auto
.smbcredentials 文件如下所示:
username=username password=pass\!word
注意!在我的密碼中……我在這兩種情況下都在逃避
:set noeol binary
我還確保使用來自Mount CIFS Credentials File has Special Character的文件中沒有 eol
chmod
on .credentials 文件是0600
並且chown
是root:root
文件在下~/
為什麼我在一方面而不是使用 fstab?
我在 ubuntu 12 LTE 上執行並且 mount.cifs -V 給了我 mount.cifs 版本:5.1
任何幫助和建議將不勝感激……
更新:
/var/log/syslog
顯示以下[26630.509396] Status code returned 0xc000006d NT_STATUS_LOGON_FAILURE [26630.509407] CIFS VFS: Send error in SessSetup = -13 [26630.509528] CIFS VFS: cifs_mount failed w/return code = -13
更新 2
通過 fstab 使用 strace mount 進行調試:
strace -f -e trace=mount mount -a Process 4984 attached Process 4983 suspended Process 4985 attached Process 4984 suspended Process 4984 resumed Process 4985 detached [pid 4984] --- SIGCHLD (Child exited) @ 0 (0) --- [pid 4984] mount("//nas/home", ".", "cifs", 0, "ip=<internal ip>,unc=\\\\nas\\home"...) = -1 EACCES (Permission denied) mount error(13): Permission denied Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) Process 4983 resumed Process 4984 detached
通過端子安裝
strace -f -e trace=mount mount -t cifs //nas/home /mnt/nas -o username=user,password=pass\!wd,uid=1000,gid=100,rw,suid Process 4990 attached Process 4989 suspended Process 4991 attached Process 4990 suspended Process 4990 resumed Process 4991 detached [pid 4990] --- SIGCHLD (Child exited) @ 0 (0) --- [pid 4990] mount("//nas/home", ".", "cifs", 0, "ip=<internal ip>,unc=\\\\nas\\home"...) = 0 Process 4989 resumed Process 4990 detached
這是我錯過的變數使用者名的錯字。從 strace 呼叫中可以看出,不知何故s失去了:
[pid 5240] getgid32() = 0 [pid 5240] access("/etc/smbcredentials", R_OK) = 0 [pid 5240] open("/etc/smbcredentials", O_RDONLY) = 3 [pid 5240] fstat64(3, {st_mode=S_IFREG|0777,st_size=41, ...}) = 0 [pid 5240] mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77d0000 [pid 5240] read(3, "uername=username\npassword=password"..., 4096) = 41 –