我可以按照以下方式安装驱动器,没有问题:
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
我还使用以下方法确保文件中没有 eol挂载 CIFS 凭证文件有特殊字符
chmod
.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
答案1
这是变量的拼写错误用户名我错过了。不知何故s从 strace 调用中可以看出缺少了:
[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 –