我可以从 samba 共享上的只读目录中删除文件

我可以从 samba 共享上的只读目录中删除文件

我有这一行/etc/fstab//freenas/share/是 samba 共享,samba 共享用户具有修改内容的 ACL 权限)

//freenas/share /run/media/myname/freenas/share cifs _netdev,credentials=/home/myname/.smbcredentials,iocharset=utf8,perm,uid=myname,gid=myname,setuids 0 0

我创建了一个目录/run/media/myname/freenas/share/test_dir/和一个文件/run/media/myname/freenas/share/test_dir/test_file
然后我将该目录和文件设为只读:

chmod a-w test_dir
chmod a-w test_dir/test_file

如果我尝试编辑文件,nano test_dir/test_file我将无法保存所做的任何更改。如果我尝试删除文件 ( rm test_dir/test_file),那么它会询问我是否要删除只读文件,我键入yes,按 Enter 键,文件就会被删除。

如果我尝试删除受保护的目录('rm -rf test_dir/'),它不起作用:rm: cannot remove 'test_dir/test_file': Permission denied,如果目录为空,则相同rm: cannot remove 'test_dir/': Permission denied

在某些时候,它也在touch: cannot touch 'test_dir/test_file': Permission denied我尝试创建新文件后说。但是,我无法复制此行为(无论我拥有什么权限以及目录中已有哪些文件,我现在都可以创建新文件)。

编辑:在服务器上,我配置了 ACL,以便用户a可以修改共享。在客户端计算机上(即,在我尝试了我所描述的所有这些操作的计算机上),我以本地用户身份登录,名称为myname,并且~/.smbcredentials(我用来挂载 samba 共享)我已经设置了password=12341234作为密码user a)和user=a.
我认为我可以通过将这些参数添加到 fstab 行来应用 posix 权限:perm,uid=myname,gid=myname,setuids以便在我的客户端计算机上本地编辑权限并在本地强制执行它们。

如何配置内容,以便在父目录是只读的情况下无法删除该文件?

相关内容