Linux 中强制文件夹权限

Linux 中强制文件夹权限

通常我是 Mac 用户,但现在我使用 Debian 和 OpenMediaVault 安装了文件服务器。磁盘设置为 ZFS 池。一切正常,只是 Mac 上的 iTunes 在下载新的播客剧集时出现了一些问题。 iTunes 首先创建一个临时文件夹,最后仅将文件写入实际的播客文件夹中。但这个临时文件夹的权限为 675,iTunes 无法使用它。如果我很快将权限更改为 777,该剧集就会加载。

这并不是说 iTunes 服务器存在普遍问题。从空驱动器开始,iTunes 用 755 写入所有需要的库和文件夹,并正确复制音乐文件。只有这个临时文件夹获得了错误的权限。

我尝试了我能想象到的所有不同版本,甚至给予用户 root 状态。总是一样的。

是否可以在创建文件夹时强制执行777权限,无论该文件夹是谁创建的?我读过一些关于 的内容/etc/profile,但不知道如何设置。或者是否可以让权限被忽略?由于我是唯一的用户,这不会是一个大问题。

这是smb.conf

load printers = no  
disable spoolss = yes  
printing = bsd  
printcap name = /dev/null  
unix extensions = yes  
wide links = no  
create mask = 0777  
directory mask = 0777  
use sendfile = yes  
aio read size = 16384  
aio write size = 16384  
time server = no  
wins support = no  
multicast dns register = no  
#Special configuration for Apple's Time Machine  
fruit:aapl = yes  
#======================= Share Definitions =======================  
[musik]  
path = /HansRAID/musik/  
guest ok = no  
guest only = no  
read only = no  
browseable = yes  
inherit acls = yes  
inherit permissions = no  
ea support = no  
store dos attributes = no  
vfs objects =  fruit streams_xattr  
printable = no  
create mask = 0664  
force create mode = 0664  
directory mask = 0775  
force directory mode = 0775  
hide special files = yes  
follow symlinks = yes  
hide dot files = yes  
valid users = "musik"  
invalid users =  
read list =  
write list = "musik"

ls -ld /HansRAID/musik给出这个:

drwxrwsrwx+ 2 root users 2 Apr 14 22:31 /HansRAID/musik

答案1

权限 675 看起来可能umask在某处配置错误设置 0102(八进制)= 66(基数 10)。

在某些情况下,umask 值需要在前面加一个 0 来指示它们是八进制值:这可能是有人不小心在 umask 配置字段中键入“66”,而不是正确的八进制值(如 )的情况066

强制执行权限的另一种方法是设置默认访问控制列表到目录:任何文件和子目录都将根据目录特定的默认 ACL 而不是会话范围的 umask 值获得权限。目录或文件上 ACL 的存在由列表+中权限字符串末尾的符号指示ls -l,例如drwxr-xr-x+,应用了 ACL 的目录。

如果写入临时文件的用户与读取临时文件的用户相同(正常情况),则只有三位数权限值的第一位数字(所有者权限)很重要。通常不需要允许其他用户写入进程的任何临时文件,但临时文件的创建者(以及仅有的创建者)应拥有所有适用的权限。

因此,“所需的最低”权限适用0700于临时目录(文件夹)和0600临时文件。这些将对应于 umask 077。 “最宽松的实用”权限对于目录是 0755,对于文件是 0644。这些将对应于 umask 022。除此之外,其他用户可能会意外或故意损坏您的临时文件。

相关内容