我对此很陌生,所以我会说得很详细。
我正在将无头 NUC 设置为家庭服务器。插入 4TB NTFS 外部驱动器,它在 下自动启动了(?) /media/username/Seagate
。第一步是与我的其他设备在网络上共享驱动器(在 GUI 提供的下载 samba 服务器的选项中,我只需勾选几个复选框即可)。
接下来,我安装了 Jellyfin。我希望我的媒体库位于这个 Samba 共享驱动器上(但对于服务器来说,仍然是本地插入的)。问题在于权限。整个磁盘都归我所有username:username
,我似乎对此无能为力。尝试更改用户、组、添加jellyfin
到组、创建包含和username
的新组并分配它,但没有任何效果,它总是只显示。username
jellyfin
username:username
sudo chown -R jellyfin:jellyfin /media/username/Seagate
sudo chown -R username:jellyfin /media/username/Seagate
sudo chown -R :jellyfin /media/username/Seagate
sudo chown -R jellyfin /media/username/Seagate
sudo usermod -a -G username jellyfin
echo etc
虽然将它移交给jellyfin
可能不是正确的解决方案,因为我希望 samba 共享能够继续工作。如果这很重要的话,Ubuntu 22.04。
答案1
你永远也不会理解。Microsoft 文件系统不理解 POSIX。而且chmod
,chown
都是 POSIX。
NTFS 权限在挂载时设置。Samba 在其配置文件中有权限选项smb配置文件
它看起来会像这样:
[{share}]
path = /{path}
valid users = {users}
force group = {group}
read only = no
create mask = 0664
force directory mode = 2775
- 创建掩码:创建文件时,它将是 rw(所有者)、rw(组)、r(其他),由 {user} 拥有并设置为组 {group}
- 目录为 rwx(所有者)、rwx(组)、rw(其他)
- 尽量避免设置权限的“其他”部分;我建议将其保持在
0
。这也将有助于识别错误配置:如果某些东西由于权限而无法正常工作,它将与该用户的“用户”和“组”有关(最好让一个需要访问权限的人没有访问权限,而不是让一个不应该拥有访问权限的人拥有访问权限;第一种情况你可以修复;第二种情况你永远不会收到通知,需要你自己检查日志和配置才能弄清楚情况)。
还有更多选项。请参阅您的smb.conf
内容以了解更多。
另一个常用的设置是“公共共享”,每个人都可以访问。如果您想要将其替换valid users = {users}
为guest ok = yes
括号之间的所有内容都需要替换成您想要的内容。