![灰洞权限问题](https://linux22.com/image/4031/%E7%81%B0%E6%B4%9E%E6%9D%83%E9%99%90%E9%97%AE%E9%A2%98.png)
我正在使用设置家庭服务器灰洞和桑巴。
摘抄
Greyhole - 一个应用程序,它使用 Samba 创建所有可用硬盘驱动器的存储池(无论其大小如何,如何连接),并允许您创建存储文件的冗余副本,以防止数据丢失您的部分硬件出现故障。
硬盘驱动器安装到 中/mnt/hdd0
,
/mnt/hdd0/gh
添加到池中并/mnt/hdd0/shares
包含 Samba 共享。
我能够连接到服务器并创建文件和文件夹。但是,在 Greyhole 创建符号链接并将其复制到池中之后,我既无法编辑也无法删除文件。 Windows 只是抛出“权限被拒绝”。
- 符号链接具有完全权限并归
root:root
. - 他们所指的文件由创建它们并拥有权限的用户拥有
rwxr--r--
。 - “gh”和“shares”的子文件夹有
rwx.rwx---
这是smb.conf
:
[global]
workgroup = WORKGROUP
server string = Samba Server
security = user
encrypt passwords = true
log file = /var/log/samba/%m.log
[TV]
path = /mnt/hdd0/shares/TV
comment = Recorded TV Shows
available = yes
browseable = yes
writeable = yes
dfree command = /usr/bin/greyhole-dfree
vfs objects = greyhole
我需要更改什么才能获得对文件的写访问权限?如何将创建的文件的组更改为 ie sambashare
(我所有 samba 用户所在的组)?
编辑:如果我停止灰洞并创建一个新文件,我可以编辑它。我想,GH就是问题所在。
答案1
符号链接所有者和权限无关。对 Samba 来说重要的是目标文件权限(以及父文件夹权限)。
由于您可以在共享上创建文件,因此权限/mnt/hdd0/shares
肯定没问题。
当 Greyhole 将文件移入 时/mnt/hdd0/gh
,它会重现原始文件的文件所有者和权限,因此新文件/mnt/hdd0/gh/ShareName/*
将具有正确的权限。
这使得 Greyhole 未自行创建的文件夹成为可能的问题来源。也就是说,/mnt/hdd0/gh
至少是文件夹本身(加上已经存在的任何文件夹,如果您不是从空文件夹开始的话)。
修理:
sudo find /mnt/hdd0/gh -type d -exec chmod 755 "{}" \;
sudo find /mnt/hdd0/gh -type f -exec chmod 644 "{}" \;
sudo chown -R your_user:sambashare /mnt/hdd0/gh
如果这不能解决您的问题,请提供有关您遇到问题的特定文件的更多信息。例如,在电视共享的根目录中创建一个新文件,并显示输出ls -la /mnt/hdd0/gh/TV
(至少是有关测试文件的部分,以及有关.
和..
)。
要强制新文件和文件夹归 组所有sambashare
,请对文件夹使用组粘滞位:
sudo find /mnt/hdd0/gh -type d -exec chmod g+s "{}" \;
这将强制所有新文件和文件夹使用与现有文件夹相同的组,并且由于您将组所有者更改为sambashare
上述组,因此所有新文件都将具有您想要的组所有者。
答案2
这看起来很像权限问题,您的内容应该对 samba 用户可写,而不仅仅是文件的所有者。
我认为您应该尝试创建一个 ACL,以便所有新文件都会自动添加到 sambashare 组中。
这个答案可能对完成这项工作很有用:https://stackoverflow.com/a/6550059