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文档服务器权限管理及场景示例的主要内容,如果未能解决你的问题,请参考以下文章

ftp企业应用|文档管理

Linux中正确设置VSFTP及权限管理项目

Samba匿名访问和身份验证及账户映射

samba安装、配置、排错

samba服务器配置文件

用户角色及文件权限