语境 :
现有的 debian buster 充当 CIFS / SMB 客户端
问题 :
从 buster 迁移到 debian bullseye 后,挂载点仍然有效,但 uid 和 gid 选项在文件系统级别被忽略(但在mount
命令的输出中是正确的)
cat /etc/fstab
:
...
//192.168.0.1/data /mnt/data cifs _netdev,nodev,nosuid,noexec,credentials=/etc/credentials,uid=myuser,gid=mygroup,file_mode=0660,dir_mode=0770,vers=1.0 0 0
...
mount
:(uid 101 是 myuser,gid 101 是 mygroup,因此这里的值是正确的)
...
//192.168.0.1/data on /mnt/data type cifs (rw,nosuid,nodev,noexec,relatime,vers=1.0,cache=strict,username=cifslogin,uid=101,forceuid,gid=101,forcegid,addr=192.168.0.1,soft,unix,posixpaths,serverino,mapposix,acl,rsize=1048576,wsize=1048576,bsize=1048576,echo_interval=60,actimeo=1,_netdev)
...
ls -la /mnt/data
:
drwxr-xr-x 3 1100 users 0 Sep 13 00:01 .
...
答案1
经过反复试验后,我发现有两个选项forceuid
可以forcegid
用来忽略 samba 服务器的 unix 扩展。
cat /etc/fstab
:
...
//192.168.0.1/data /mnt/data cifs _netdev,nodev,nosuid,noexec,credentials=/etc/credentials,uid=myuser,forceuid,gid=mygroup,forcegid,file_mode=0660,dir_mode=0770,vers=1.0 0 0
...