与共享文件夹和 ACL 混淆

与共享文件夹和 ACL 混淆

我有 2 台 ubuntu 机器(ubuntu1 和 ubuntu2)。Ubuntu1 共享文件夹 /opt/share,我创建了测试用户具体到rwx:

setfacl -Rm u:testuser:rwx .

Ubuntu2 将其安装在 /mnt/ubuntu1 上

mount -t cifs -o user=testuser,password=thepassword //ubuntu1/share1 /mnt/ubuntu1

我可以看到 Ubuntu2 上的共享文件夹并列出文件 init

ls -lh
drwxrwxr-x+ 2 root root 0 Nov  3 00:31 aginova
drwxrwxr-x+ 2 root root 0 Nov  3 00:31 brother
drwxrwxr-x+ 2 root root 0 Nov  3 00:31 dizcoisas
drwxrwxr-x+ 2 root root 0 Nov  3 00:31 equipamentos

这就是开始令人困惑的地方:在 Windows 机器上测试共享,我使用 testuser 和密码进行身份验证,并且能够进行 rwx,但在 Ubuntu2 机器上,虽然共享是用同一个用户安装的,但我在尝试写入时收到“权限被拒绝”提示。

查看访问列表,我可以看到另一个用户对该文件夹拥有我从未设置的权限(???)

root@ubuntu2:/mnt/share1# getfacl .
# file: .
# owner: root
# group: root
user::rwx
user:siemens:rwx
group::r-x
mask::rwx
other::r-x

如果我尝试像在 ubuntu2 中那样设置 facl,它会返回一个错误,基本上说 testuser 不存在或“权限被拒绝”。

root@ubuntu2:/mnt/ubuntu1# sudo setfacl -bR .
setfacl: .: Permission denied
setfacl: ./aginova: Permission denied
setfacl: ./equipamentos: Permission denied
setfacl: ./dizcoisas: Permission denied
setfacl: ./brother: Permission denied
root@ubuntu2:/mnt/ubuntu# getfacl .
# file: .
# owner: root
# group: root
user::rwx
user:siemens:rwx
group::r-x
mask::rwx
other::r-x

root@ubuntu2:/mtn/ubuntu1# sudo setfacl -Rm u:testuser:rwx /mnt/ubuntu1/setfacl: Option -m: Invalid argument near character 3

那么,为什么共享挂载在 Windows 中可以使用 rwx 但在 ubuntu2 中只能使用 r-- 呢?

答案1

我让它工作的唯一方法是在机器 ubuntu1 上应用它

chmod -R 777 /opt/share

然后在 /etc/samba/smb.conf 中像这样设置“有效用户”

[share]
...
valid users = testuser

这样,只有指定的用户才能访问共享,因此在这种情况下无需设置 ACL,因为用户无论如何都应该具有 rwx 权限

相关内容