通常我是 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
。除此之外,其他用户可能会意外或故意损坏您的临时文件。