samba 是否能够在同一主机内做到不同文件夹不同权限?

2022-02-23 22:45:13 +08:00
 LxnChan

现在有三块硬盘:publicdata 、privatedata 、prosoft 。

需要用 samba 做到:PublicData 所有人可读可写; PrivateData 部分账户可读可写; ProSoft 全部账户只读不可写。

请问大家 smb.conf 需要如何配置?或者是否有类似案例的完整可供参考的记录?在 CSDN 上面搜出来的很多感觉都象是爬虫爬出来的,不是不全就是乱七八糟。不必向我重复推官方文档,谢谢。

2878 次点击
所在节点    Linux
9 条回复
vonsy
2022-02-23 22:56:35 +08:00
可以. 下面我共享了两个文件夹 share, backup, 系统用的是 ubuntu

// 安装 Samba
sudo apt install samba

// 修改 Samba 配置文件
/etc/samba/smb.conf
[global]
workgroup = WORKGROUP
security = user
# Added by fsy
min protocol = SMB2
ea support = yes
fruit:nfs_aces = no

[share]
comment = Ubuntu File Server Share
path = /zion/share
writeable = yes
browsable = yes
guest ok = yes
read only = no
create mask = 0755
force user = fsy

[backup]
comment = Time Machine Backup
path = /zion/share/backups
writeable = yes
browsable = yes
public = yes
read only = no
create mask = 0755
force user = fsy
vfs objects = catia fruit streams_xattr
fruit:aapl = yes
fruit:metadata = stream
fruit:model = MacPro
fruit:time machine = yes
fruit:posix_rename = yes
fruit:veto_appledouble = no
fruit:wipe_intentionally_left_blank_rfork = yes
fruit:delete_empty_adfiles = yes

ps: Note that guest ok is a synonym for public.
Osk
2022-02-23 23:04:40 +08:00
没有任何问题, 这是基本功能. 之前配过, 但配置文件丢了, 给一份现编的参考:

```conf
[public]
path = /share/public
guest ok = no # 不允许来宾访问
browseable = yes

# 建议的几个选项
force create mode = 0640 # 通过 smb 的 linux 文件都将是这个权限, OR (或)运算的权限位, 这是指的放 linux 文件系统中的权限, 和客户端通过 smb 访问得到的权限关系不是很大(客户端能看到权限的)
force directory mode = 0750 # 同上, 也是 OR 运算的
force user = xxxx # 强制使用这个 linux 本地用户身份访问共享的文件, 不管客户端用哪个身份登陆的, 建议不要设成 root
read list = user1, user2, user3 # 哪些用户可以读取
write list = user1 # 哪些用户可以写入, 忘了和下面 readonly 谁的优先级更高了.
readonly = yes # 只读共享, 不能写入
```
Osk
2022-02-23 23:06:40 +08:00
多用户访问时 force user 很有用, 不然可能会出现用户无法别人创建的文件的问题
littlewing
2022-02-23 23:58:34 +08:00
@Osk 多谢,学到了 force user 配置,刚遇到这个问题
LxnChan
2022-02-24 08:51:22 +08:00
@vonsy 请问一下,fruit 参数是控制什么的呢?
vonsy
2022-02-24 09:50:25 +08:00
@LxnChan 与 macos 相关的设置,backup 用来给 mac 备份, 这有参数说明: https://www.samba.org/samba/docs/current/man-html/vfs_fruit.8.html

global 是全局配置
share, backup 是共享的文件夹,单个设置

nfs, samba 在各系统下都不太一样, 如果遇到问题就修改参数试试,多试试, 最好的帮助是 man samba
LxnChan
2022-02-24 22:23:11 +08:00
@vonsy 好的,谢谢。
LxnChan
2022-02-26 21:36:13 +08:00
@Osk 您好,请问一下有没有哪个参数能控制某个文件夹禁止某用户访问?
Osk
2022-02-26 23:17:42 +08:00
@LxnChan 建议把这个文件夹拆成单独的共享来控制权限哦, 不然一个共享下搞子文件夹的权限限制容易混乱.

samba 的权限:
首先是你在 smbd 中配置的权限, 然后是 linux 本地文件系统的权限 (若设置了 force user, 此限制是针对你这里指定的用户). 两者缺一不可, 不然都会无法访问.

根据这个规则你可以来自己调整 smb 访问权限和 linux 文件系统的权限来满足需求.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/836041

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX