我在“服务器”上安装了 Ubuntu 服务器,有 5 个用户(+ root + transmission)。这 5 个用户(omichron_group)是窗户/苹果电脑用户。我尝试阅读 samba 手册/文档,但却无法理解一句话。
这是配置:
[global]
workgroup = WORKGROUP
server string = Omichron_server
security = user
template shell = /bin/bash
template homedir = /home/%D/%U
[omichron_share]
path = /tarolo/share/omichron_share
comment = Everyone can w,r,x (delete)
browseable = yes
read only = no
valid user = @omichron_group
public = yes
create mask = 0755
create mode = 0755
directory mask = 0755
[homes]
browseable = no
writeable = yes
valid users = %U
force user = %U
create mask = 0755
directory mask = 0755
[torrent]
path = /tarolo/torrent
comment = Torrent // 1TB disk, everyone r,w,x (delete)
browseable = yes
read only = no
valid user = @omichron_group
public = yes
create mask = 0775
directory mask = 0775
目录的权限:
**drwxr-xr-x 6 root root 4096 Jan 14 13:44 home**
drwx------ 2 root root 16384 Jan 13 19:51 lost+found
**drwxrwxr-x 3 omichron omichron_group 4096 Jan 14 13:48 share**
drwxrwxr-x 2 omichron omichron_group 4096 Jan 28 14:01 omichron_share
**drwxrwxr-x 8 omichron omichron_group 4096 Feb 25 13:12 torrent**
因此,我想分享:
- 每个人的主目录(所有者拥有完全权限,但其他人看不到)/home
- 每个用户都可以读取、写入、执行(和删除文件)的目录 /share/omichron
- 每个用户都可以读取、写入、执行和删除的目录 (torrent 文件夹) /tarolo/torrent
我的问题:
- 我需要使用
winbind
和kerberos
吗? - 许可是否
755
有效或者是否应该改变? - 如果设置
create mask, directory mask
为,755
我是否必须使用 更改目录权限chmod
? - 谁应该是共享文件夹的所有者?
- 如果有人通过 Transmission 下载文件,那么用户可以成为所有者而不是 Transmission 吗?
抱歉我的英语不好,这篇文章的结构也很糟糕。这是我的第一篇文章。我希望我的问题可以被理解,
答案1
我需要使用 winbind 和 kerberos 吗?
很可能不会。无论帐户来自何处,Samba 文件服务器都提供相同的功能 - 您的本地 Samba 帐户已自动与相应的 OS 帐户关联,等等。
(但是,Active Directory会如果您拥有 3-4 台以上的服务器,那么这将是一个好主意。
谁应该是共享文件夹的所有者?
其实没关系;如果没有特定的所有者,root 将是一个不错的选择。
如果将创建掩码、目录掩码设置为 755,我是否必须使用 chmod 更改目录权限?
视情况而定,但很可能是“是”。
Samba 的“创建/目录掩码”设置不会更改现有权限;它们仅指定将用于新的在该共享上创建的文件。如果您想创建公共共享,但目录当前的权限为 0700 – Samba 不会更改该权限;您必须自行对其进行 chmod。
755 权限是否有效或者是否应该改变?
这是标准的“其他人可读”权限。但它并不真正符合您的描述——对于主目录,它授予的权限太多(其他人不需要“读取/执行”权限);对于共享目录,它授予的权限太少(其他人缺少“写入”权限);因此您可能需要在这两种情况下都进行更改。
如果有人通过 Transmission 下载文件,那么用户可以成为所有者而不是 Transmission 吗?
只有当用户运行他们自己的传输实例(每个实例都有自己的端口号)。
由于 Transmission 是一个本地进程,因此它不受 SMB 服务器配置的影响——它创建的所有文件都归 Transmission 本身运行的帐户所有。
禁用系统范围的 Transmission 服务,然后在 中创建一个“用户级” transmission.service /etc/systemd/user/
,每个用户都可以开始使用它systemctl --user
。(在使用哪些设置方面存在一些差异,但这些差异已在其他地方记录。)
不要忘记使用loginctl enable-linger
以允许用户的个人服务在启动时启动(默认情况下,它们仅限于登录 - 注销,但“停留”模式可以避免这种情况)。