下面根据实际工作中遇到的一个共享目录的多用户权限需求案例来说明下Samba用户权限的设置。
一、需求场景
领导:李一(liyi)
正式员工(zhengshiyuangong):刘二二(liuerer)、于三三(yusansan)、车四四(chesisi)、冯五五(fengwuwu)
实习生(shixisheng):步六六(buliuliu)、王七七(wangqiqi)
李一有整个共享盘的读写权限,其中共享盘整体分为存档区和编辑区,子目录按照如下顺序进行展示。
具体权限设置如下:
二、Samba服务器部署
1)安装Samba [[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [[email protected] ~]# rpm -qa|grep samba [[email protected] ~]# yum install -y samba 2)安全角度考虑,需要设置防火墙策略(不要关闭防火墙) 添加samba服务到防火墙策略中 [[email protected] ~]# firewall-cmd --add-service samba --permanent success 重启防火墙 [[email protected] ~]# firewall-cmd --reload success 查看samba服务是否添加到防火墙中: [[email protected] ~]# firewall-cmd --list-all|grep samba services: ssh dhcpv6-client samba 一定要关闭selinux(否则会造成windows客户机连接Samba失败) [[email protected] ~]# vim /etc/sysconfig/selinux ..... SELINUX=disabled [[email protected] kevin]# setenforce 0 [[email protected] kevin]# getenforce Permissive 3)Samba服务配置 [[email protected] ~]# cat /etc/samba/smb.conf # See smb.conf.example for a more detailed config file or # read the smb.conf manpage. # Run ‘testparm‘ to verify the config is correct after # you modified it. [global] workgroup = SAMBA security = user passdb backend = tdbsam printing = cups printcap name = cups load printers = yes cups options = raw [homes] comment = Home Directories valid users = %S, %D%w%S browseable = No read only = No inherit acls = Yes [printers] comment = All Printers path = /var/tmp printable = Yes create mask = 0600 browseable = No [print$] comment = Printer Drivers path = /var/lib/samba/drivers write list = root create mask = 0664 directory mask = 0775 [公司共享目录] comment = "公司共享目录下的账号权限" path= /data/samba public = no valid users = liyi,chesisi,yusansan,liuerer,fengwuwu,buliuliu,wangqiqi,admin,@samba printable = no write list = liyi,chesisi,yusansan,liuerer,fengwuwu,buliuliu,wangqiqi,admin 4)创建共享目录 [[email protected] ~]# useradd samba [[email protected] ~]# mkdir -p /data/samba/编辑区 [[email protected] ~]# mkdir -p /data/samba/存档区 [[email protected] ~]# chown -R samba.samba /data/samba [[email protected] data]# ll samba 总用量 0 drwxr-xr-x 7 samba samba 142 3月 28 03:52 编辑区 drwxr-xr-x 12 samba samba 280 3月 28 03:51 存档区 5)添加各samba账号 [[email protected] ~]# useradd -d /data/samba -s /sbin/nologin liyi [[email protected] ~]# useradd -d /data/samba -s /sbin/nologin chesisi [[email protected] ~]# useradd -d /data/samba -s /sbin/nologin yusansan [[email protected] ~]# useradd -d /data/samba -s /sbin/nologin liuerer [[email protected] ~]# useradd -d /data/samba -s /sbin/nologin fengwuwu [[email protected] ~]# useradd -d /data/samba -s /sbin/nologin buliuliu [[email protected] ~]# useradd -d /data/samba -s /sbin/nologin wangqiqi [[email protected] ~]# useradd -d /data/samba -s /sbin/nologin zhengshiyuangong [[email protected] ~]# useradd -d /data/samba -s /sbin/nologin shixisheng [[email protected] ~]# pdbedit -a -u liyi new password: retype new password: ....... [[email protected] ~]# pdbedit -a -u chesisi new password: retype new password: ....... [[email protected] ~]# pdbedit -a -u yusansan new password: retype new password: ....... [[email protected] ~]# pdbedit -a -u liuerer new password: retype new password: ....... [[email protected] ~]# pdbedit -a -u fengwuwu new password: retype new password: ....... [[email protected] ~]# pdbedit -a -u buliuliu new password: retype new password: ....... [[email protected] ~]# pdbedit -a -u wangqiqi new password: retype new password: ....... 查看samba账号列表 [[email protected] ~]# pdbedit -L yusansan:1001: liuerer:1004: fengwuwu:1006: liyi:1003: chesisi:1005: buliuliu:1009: wangqiqi:1010: 6)设置共享目录权限 [[email protected] samba]# ll 总用量 0 drwxr-xr-x 7 samba samba 142 3月 28 03:52 编辑区 drwxr-xr-x 12 samba samba 280 3月 28 03:51 存档区 [[email protected] samba]# cd 存档区 [[email protected] 存档区]# mkdir 01-重大事项 [[email protected] 存档区]# chown -R liyi.liyi /data/samba/存档区/01-重大事项 [[email protected] 存档区]# chmod -R 700 /data/samba/存档区/01-重大事项 [[email protected] 存档区]# mkdir 02-战略投资 [[email protected] 存档区]# chown -R liuerer.liuerer /data/samba/存档区/02-战略投资 [[email protected] 存档区]# chmod -R 700 /data/samba/存档区/02-战略投资 [[email protected] 存档区]# setfacl -R -m u:fengwuwu:rx /data/samba/存档区/02-战略投资 [[email protected] 存档区]# mkdir 03-战略规划 [[email protected] 存档区]# chown -R yusansan.yusansan /data/samba/存档区/03-战略规划 [[email protected] 存档区]# chmod -R 700 /data/samba/存档区/03-战略规划 [[email protected] 存档区]# setfacl -R -m u:liuerer:rx /data/samba/存档区/03-战略规划 [[email protected] 存档区]# mkdir 04-公司治理 [[email protected] 存档区]# chown -R yusansan.yusansan /data/samba/存档区/04-公司治理 [[email protected] 存档区]# chmod -R 700 /data/samba/存档区/04-公司治理 [[email protected] 存档区]# setfacl -R -m u:chesisi:rwx /data/samba/存档区/04-公司治理 [[email protected] 存档区]# setfacl -R -m g:zhengshiyuangong:rx /data/samba/存档区/04-公司治理 [[email protected] 存档区]# gpasswd -a liuerer zhengshiyuangong [[email protected] 存档区]# gpasswd -a yusansan zhengshiyuangong [[email protected] 存档区]# gpasswd -a chesisi zhengshiyuangong [[email protected] 存档区]# gpasswd -a fengwuwu zhengshiyuangong [[email protected] 存档区]# mkdir 05-股东信息 [[email protected] 存档区]# chown -R yusansan.yusansan /data/samba/存档区/05-股东信息 [[email protected] 存档区]# chmod -R 700 /data/samba/存档区/05-股东信息 [[email protected] 存档区]# setfacl -R -m u:chesisi:rwx /data/samba/存档区/05-股东信息 [[email protected] 存档区]# mkdir 06-上层股东 [[email protected] 存档区]# chown -R yusansan.yusansan /data/samba/存档区/06-上层股东 [[email protected] 存档区]# chmod -R 700 /data/samba/存档区/06-上层股东 [[email protected] 存档区]# setfacl -R -m u:fengwuwu:rwx /data/samba/存档区/06-上层股东 [[email protected] 存档区]# mkdir 07-投关管理 [[email protected] 存档区]# chown -R fengwuwu.fengwuwu /data/samba/存档区/07-投关管理 [[email protected] 存档区]# chmod -R 700 /data/samba/存档区/07-投关管理 [[email protected] 存档区]# setfacl -R -m u:chesisi:rx /data/samba/存档区/07-投关管理 [[email protected] 存档区]# mkdir 08-制度信批 [[email protected] 存档区]# chown -R yusansan.yusansan /data/samba/存档区/08-制度信批 [[email protected] 存档区]# chmod -R 700 /data/samba/存档区/08-制度信批 [[email protected] 存档区]# setfacl -R -m g:zhengshiyuangong:rx /data/samba/存档区/08-制度信批 [[email protected] 存档区]# mkdir 09-部门综合 [[email protected] 存档区]# chown -R yusansan.yusansan /data/samba/存档区/09-部门综合 [[email protected] 存档区]# chmod -R 700 /data/samba/存档区/09-部门综合 [[email protected] 存档区]# setfacl -R -m g:zhengshiyuangong:rwx /data/samba/存档区/09-部门综合 [[email protected] 存档区]# mkdir 10-学习共享 [[email protected] 存档区]# chown -R yusansan.yusansan /data/samba/存档区/10-学习共享 [[email protected] 存档区]# chmod -R 700 /data/samba/存档区/10-学习共享 [[email protected] 存档区]# setfacl -R -m g:zhengshiyuangong:rwx /data/samba/存档区/10-学习共享 [[email protected] 存档区]# setfacl -R -m g:shixisheng:rx /data/samba/存档区/10-学习共享 [[email protected] 存档区]# gpasswd -a buliuliu shixisheng [[email protected] 存档区]# gpasswd -a wangqiqi shixisheng [[email protected] 存档区]# cd ../编辑区/ [[email protected] 编辑区]# mkdir /data/samba/编辑区/01-文件1 [[email protected] 编辑区]# chown -R yusansan.yusansan /data/samba/编辑区/01-文件1 [[email protected] 编辑区]# chmod -R 700 /data/samba/编辑区/01-文件1 [[email protected] 编辑区]# setfacl -R -m u:liuerer:rwx /data/samba/编辑区/01-文件1 [[email protected] 编辑区]# mkdir /data/samba/编辑区/02-文件2 [[email protected] 编辑区]# chown -R liuerer.liuerer /data/samba/编辑区/02-文件2 [[email protected] 编辑区]# chmod -R 700 /data/samba/编辑区/02-文件2 [[email protected] 编辑区]# setfacl -R -m u:fengwuwu:rwx /data/samba/编辑区/02-文件2 [[email protected] 编辑区]# mkdir /data/samba/编辑区/03-文件3 [[email protected] 编辑区]# chown -R yusansan.yusansan /data/samba/编辑区/03-文件3 [[email protected] 编辑区]# chmod -R 700 /data/samba/编辑区/03-文件3 [[email protected] 编辑区]# setfacl -R -m u:chesisi:rwx /data/samba/编辑区/03-文件3 [[email protected] 编辑区]# mkdir /data/samba/编辑区/04-文件4 [[email protected] 编辑区]# chown -R yusansan.yusansan /data/samba/编辑区/04-文件4 [[email protected] 编辑区]# chmod -R 700 /data/samba/编辑区/04-文件4 [[email protected] 编辑区]# setfacl -R -m g:zhengshiyuangong:rwx /data/samba/编辑区/04-文件4 [[email protected] 编辑区]# mkdir /data/samba/编辑区/05-文件5 [[email protected] 编辑区]# chown -R yusansan.yusansan /data/samba/编辑区/05-文件5 [[email protected] 编辑区]# chmod -R 700 /data/samba/编辑区/05-文件5 [[email protected] 编辑区]# setfacl -R -m g:zhengshiyuangong:rwx /data/samba/编辑区/05-文件5 [[email protected] 编辑区]# setfacl -R -m g:shixisheng:rwx /data/samba/编辑区/05-文件5 [[email protected] ~]# cd /data/samba/存档区 [[email protected] 存档区]# ll 总用量 0 drwxrwx---+ 2 liyiyi liyiyi 10 3月 28 03:53 01-重大事项 drwxrwx---+ 2 liuerer liuerer 10 3月 28 00:01 02-战略投资 drwxrwx---+ 2 yusansan yusansan 10 3月 28 00:05 03-战略规划 drwxrwx---+ 2 yusansan yusansan 10 3月 28 02:19 04-公司治理 drwxrwx---+ 2 yusansan yusansan 10 3月 28 02:19 05-股东信息 drwxrwx---+ 2 yusansan yusansan 10 3月 28 02:20 06-上层股东 drwxrwx---+ 2 fengwuwu fengwuwu 10 3月 28 02:20 07-投关管理 drwxrwx---+ 2 yusansan yusansan 10 3月 28 02:23 08-制度信批 drwxrwx---+ 2 yusansan yusansan 10 3月 28 02:33 09-部门综合 drwxrwx---+ 2 yusansan yusansan 10 3月 28 03:54 10-学习共享 [[email protected] 存档区]# cd ../编辑区/ [[email protected] 编辑区]# ll 总用量 0 drwxrwx---+ 2 yusansan yusansan 10 3月 28 03:56 01-文件1 drwxrwx---+ 2 liuerer liuerer 10 3月 28 02:39 02-文件2 drwxrwx---+ 2 yusansan yusansan 10 3月 28 03:33 03-文件3 drwxrwx---+ 2 yusansan yusansan 10 3月 28 02:41 04-文件4 drwxrwx---+ 2 yusansan yusansan 10 3月 28 02:43 05-文件5 由于李峰有整个共享盘的读写权限,所以还需给liyi账号设置所有子目录的读写权限 [[email protected] ~]# setfacl -R -m u:liyi:rwx /data/samba/存档区/01-重大事项 [[email protected] ~]# setfacl -R -m u:liyi:rwx /data/samba/存档区/02-战略投资 [[email protected] ~]# setfacl -R -m u:liyi:rwx /data/samba/存档区/03-战略规划 [[email protected] ~]# setfacl -R -m u:liyi:rwx /data/samba/存档区/04-公司治理 [[email protected] ~]# setfacl -R -m u:liyi:rwx /data/samba/存档区/05-股东信息 [[email protected] ~]# setfacl -R -m u:liyi:rwx /data/samba/存档区/06-上层股东 [[email protected] ~]# setfacl -R -m u:liyi:rwx /data/samba/存档区/07-投关管理 [[email protected] ~]# setfacl -R -m u:liyi:rwx /data/samba/存档区/08-制度信批 [[email protected] ~]# setfacl -R -m u:liyi:rwx /data/samba/存档区/09-部门综合 [[email protected] ~]# setfacl -R -m u:liyi:rwx /data/samba/存档区/10-学习共享 [[email protected] ~]# setfacl -R -m u:liyi:rwx /data/samba/编辑区/01-文件1 [[email protected] ~]# setfacl -R -m u:liyi:rwx /data/samba/编辑区/02-文件2 [[email protected] ~]# setfacl -R -m u:liyi:rwx /data/samba/编辑区/03-文件3 [[email protected] ~]# setfacl -R -m u:liyi:rwx /data/samba/编辑区/04-文件4 [[email protected] ~]# setfacl -R -m u:liyi:rwx /data/samba/编辑区/05-文件5
三、在windows本机登录Samba,验证各用户针对各个子目录的读写权限
按键Ctrl+E,打开“此电脑”,然后点击左侧栏的“网络”,接着在上侧的网络栏目里输入samba地址( 比如samba部署机ip为192.168.10.10):\\\\192.168.10.10,然后输入samba账号和密码,就可以登录到Samba共享目录了了。如上部署后,可以逐个验证各个samba账号对各个子目录的读写权限。
温馨提示:
1)如上配置,登录Samba后,会显示两个目录:一个是账号目录(没有访问权限,不需要访问),一个就是samba共享目录了(在smb.conf里定义的共享名称,这个可以访问),如下图:
2)如何将samba共享目录保存到本地电脑上,从而不需要每次都输入账号和密码信息?
初次登录samba,看到共享目录后,可以右击共享目录,选择"映射网络驱动器",这样就将samba共享目录通过网络驱动器的方式保存到本地了,如下图: