smb文档服务器权限管理及场景示例
Posted 斜杠方子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了smb文档服务器权限管理及场景示例相关的知识,希望对你有一定的参考价值。
smb文档服务器的部署比较简单,可以参考的文章很多,关键是如何结合自己的需求进行细粒度的权限管理,本文给出了一些常见问题的解决方案,并给出了一个真实场景示例。
一、权限管理。
SMB可以实现细粒度的权限控制,这里有几个权限管理的常见问题及解决办法。
1、文档的读写权限控制。
由如下两个指令控制:
read only = yes
writeable = yes
通过控制read only和writeable的yes或no来控制。
但是在使用过程中,经常会遇到操作文件或文件夹时,权限控制内的人却不能上传和下载,明明已经放开了读写权限,也有问题,这是因为新建文件或文件夹的权限不够,配置文件放开了读写的权限,但是linux系统控制的文件权限其实还没有放开。举一个形象的例子,如果你家大门被锁,即使屋子里的门敞开着,外人还是进不去,这里的大门就是linux系统的读写权限限制,屋门就是smb配置文件的读写权限限制;
以下四个指令可以帮助解决这个问题,至于是否是777权限,可以根据实际情况配置。
create mask = 0777 #创建文件
directory mask = 0777
force create mode = 0777 #创建文件夹
force directory mode = 0777
2、浏览权限控制。
由如下几个命令控制:
browseable = yes #可以浏览,所有path路径均需要加上此配置;
available = yes #可以访问,所有path路径均需要加上此配置;
3、人员权限控制。
由如下几个命令控制:
public = yes #全部成员都可以访问,无限制;
valid users = aaa,@bbb,ccc #允许某些成员可读(查看),用逗号隔开,用户组用@组名表示;
write list = aaa,ccc #允许某些成员可写(上传、下载、修改等);
4、用户的添加和用户组的添加。
第一步,添加用户,使用命令useradd -d /xxx/yyy -s /sbin/nologin aaa,其中/xxx/yyy为指定用户登入时的主目录,替换系统默认值/home/<用户名> ,aaa为用户名
第二步,创建用户的密码,使用命令pdbedit -a -u aaa
输入两次即可。
第三步,创建用户组,使用groupadd命令,建议直接在如下路径下添加用户组和用户
vi 编辑/etc/group
命令如下:
组名:x:组号:aaa,bbb,ccc
示例:
FtpDepart:x:1076:zhangxx,lixx,liuxx
5、文件路径控制
path = XXX,其中xxx为文件的真实路径
不同的文件路径只需要进行不同的控制即可。
二、真实场景示例
场景目标:
1、公共文档,供所有人访问和使用;
2、项目文档,供项目组成员访问和使用;
3、技术组文档,供技术组成员访问和使用;
配置文件如下:
[global]
workgroup = WORKGROUP
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[homes]
comment = Home Directories
browseable = no
valid users = %S,%D%w%S
writeable = yes
available = no
inherit acls = Yes
[01-公共共享]
comment = 公共共享
browseable = yes #可以浏览;
path = /var/ftp/01-公共共享 #文档路径
guest ok = yes
read only = yes #可读
writeable = yes #可写
create mask = 0777 #新建文件权限
directory mask = 0777 #新建文件夹权限
force create mode = 0777
force directory mode = 0777
public = yes #所有人开放;
available = yes #路径可以访问;
[02-项目组X]
comment = project-x
browseable = yes
path = /var/ftp/02-项目组X
guest ok = yes
read only = yes
writeable = yes
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
valid users = @aaa,@bbb #允许项目组aaa和bbb成员查看;
write list = @aaa,@bbb #允许项目组aaa和bbb成员查看;
available = yes
[03-技术组Y]
comment = te-y
browseable = yes
path = /var/ftp/03-技术组Y
guest ok = yes
read only = yes
writeable = yes
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
valid users = @ccc,@ddd #允许技术组ccc和ddd成员查看;
write list = @ccc,@ddd #允许技术组ccc和ddd成员查看;
available = yes
组配置文件如下:
cat /etc/group查看最后几行。
aaa:x:1094:a1,a2,a3,a4,a5,a6
bbb:x:1095:b1,b2,b3,b4,b5,b6,b7,b8,b9,b10
ccc:x:1096:c1,c2,c3,c4,c5,c6,c7
ddd:x:1097:d1,d2,d3,d4,d5
这样就实现了场景所要求的目标。
以上是关于smb文档服务器权限管理及场景示例的主要内容,如果未能解决你的问题,请参考以下文章