![Samba:公共共享中不可删除的目录](https://linux22.com/image/673306/Samba%EF%BC%9A%E5%85%AC%E5%85%B1%E5%85%B1%E4%BA%AB%E4%B8%AD%E4%B8%8D%E5%8F%AF%E5%88%A0%E9%99%A4%E7%9A%84%E7%9B%AE%E5%BD%95.png)
我有这个smb.conf
[global]
security = user
guest account = nobody
map to guest = Bad User
[myshare]
path = /var/myshare
available = yes
browsable = yes
guest ok = yes
read only = no
force create mode = 0775
这允许用户匿名访问 myshare。我想创建一个/var/myshare/permanent
用户无法删除的目录。用户应该能够在/var/myshare
和中创建/修改/删除文件和目录/var/myshare/permanent
。匿名访问共享可以做到这一点吗?
答案1
最简单的方法是在linux中设置append属性。
# chattr +a permanent
在这种情况下,您可以写入目录但不能删除它,除非您删除该属性。
答案2
如果您准备禁用 unix 扩展支持([global field] 中的 unix extension=no),您可以通过启用跟随符号链接(follow symlinks=true)并使用符号链接而不是目录来实现。
答案3
在启用了粘着位的目录中,只有子目录的创建者才能删除该子目录。
# chmod +t /var/myshare
# mkdir /var/myshare/permanent
# chown root:root /var/myshare/permanent
只有用户root
可以删除permanent
。