有多种方法可以在Linux客户端上装载CIFS/Samba共享 、windows共享。然而,有些教程已经过时了,而且完全错误。我刚刚遇到了一个(愚蠢的)装载错误的情况。
很多教程Linux装载 windows共享文件夹的 cifs语法:
[root@xtwh-test-01 ~]# mount -t cifs //10.99.101.102/Microsoft/ /mnt/anysharelog/ -o username="mydomain\myusername",password="mypassword",vers=1.0,ro
mount error(13): Permission denied
不幸的是,dmesg中的额外输出无助于解决问题:
[root@xtwh-test-01 ~]#dmesg
[... ...]
[43128138.860530] Status code returned 0xc000015b NT_STATUS_LOGON_TYPE_NOT_GRANTED
[43128138.860537] CIFS VFS: Send error in SessSetup = -13
[43128138.861425] CIFS VFS: cifs_mount failed w/return code = -13
在出现其他尝试和错误(并从历史记录中查找最近的共享装载)后,问题原来是user=domain\myuser语法。这种将域/工作组和用户名相结合的方式已经不起作用了。
注意:选项中同时接受user=和username=。
而是使用:
[root@xtwh-test-01 ~]# mount -t cifs "//10.99.101.102/Microsoft" /mnt/anysharelog/ -o "user=myusername,password=mypassword,workgroup=mydomain"
装载成功
Of course the password should not be used on the command line, so for the final (and automatic) mount of the share use the following entry in /etc/fstab:
root@focal:~# cat /etc/fstab
[...]
# Mount CIFS share from server
//server/Share /mnt cifs rw,relatime,vers=3.1.1,credentials=/etc/samba/servershare.conf,uid=0 0 0
Where /etc/samba/servershare.conf contains the credentials:
root@focal:~# cat /etc/samba/servershare.conf
user=myuser
password=secret
domain=DOMAIN