设置特定用户登录samba服务器访问共享目录
2025-05-14 14:32阅读:
设置特定用户登录samba服务器访问共享目录
如果公司有多个部门,因工作需要,就必须分门别类地建立相应部门的目录。要求将销售部的资料存放在Samba服务器的/pub目录下集中管理,以便销售人员浏览,并且该目录只允许销售部员工访问。
需求分析:在/pub目录中存放有销售部的重要数据,为了保证其他部门无法查看其内容,我们需要将全局配置中security设置为user安全级别。这样就启用了Samba服务器的身份验证机制。然后在共享目录/pub下设置valid
users字段,配置只允许销售部员工能够访问这个共享目录。
(1)建立共享目录,并在其下建立测试文件。
[root@RHEL8-5
~]# mkdir /pub
[root@RHEL8-5
~]# mkdir /pub
[root@RHEL8-5
~]# touch /pub/test_share.tar
(2)添加销售部用户和组并添加相应的Samba账号。
使用groupadd命令添加sales组,然后执行useradd命令和passwd命令,以添加销售部员工的账号及密码。此处单独增加一个test_user1账号,不属于sales组,供测试用。
[root@RHEL8-5
~]# groupadd sales #建立销售组sales
[root@RHEL8-5
~]# useradd -g sales sale1
#建立sale1,添加到sales组
[root@RHEL8-5
~]# useradd -g sales sale2
#建立sale2,添加到sales组
[root@RHEL8-5
~]# useradd test_user1
#供测试用
[root@RHEL8-5
~]# passwd sale1 #设置用户sale1密码
[root@RHEL8-5
~]# passwd sale2 #设置用户sale2密码
[root@RHEL8-5
~]# passwd test_user1 #设置用户test_user1密码
为销售部成员添加相应Samba账号。
[root@RHEL8-5
~]# smbpasswd –a sale1
[root@RHEL8-5
~]# smbpasswd –a sale2
(3)修改Samba主配置文件smb.conf。
[global]
workgroup = Workgroup
server string = File Server
security = user #设置user安全级别模式,默认值
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[sales]
#设置共享目录的共享名为sales
comment=sales
path=/pub
#设置共享目录的绝对路径
writable = yes
browseable = yes
valid users = @sales
#设置可以访问的用户为sales组
(4)设置共享目录的本地系统权限。
[root@RHEL8-5
~]# chmod 777 /pub –R
[root@RHEL8-5
~]# chown :sales
/pub
-R
(5)[root@RHEL8-5 ~]#
setenforce 0
设置selinux宽松模式
(6)让防火墙放行,这一步很重要。
[root@RHEL8-5
~]# firewall-cmd --permanent
--add-service=samba
[root@RHEL8-5
~]# firewall-cmd –reload //重新加载防火墙
(7)重新加载samba服务。
[root@RHEL8-5 ~]# systemctl
restart smb
//或者[root@RHEL8-5 ~]# systemctl
reload smb
(8)测试。
一是在windows 10中利用资源管理器进行测试,二是利用Linux客户端。
(1)依次选择“开始”→“运行”命令,\\172.16.135. 128。打开“Windows安全”对话框。输入sale1或sale2及其密码,登录后可以正常访问。
(2)映射网络驱动器访问samba服务器共享目录。双击打开“我的电脑”,再依次选择“工具”→“映射网络驱动器”命令,在“映射网络驱动器”对话框中选择Z驱动器,并输入tech共享目录的地址,如\\172.16.35.128\sales。单击“完成”按钮,在接下来的对话框中输入可以访问sales共享目录的samba账号和密码。
(3)再次打开“计算机”,驱动器Z就是共享目录sales,可以很方便地访问了。
二Linux客户端访问Samba共享
[root@RHEL8-5
~]# yum install samba-client -y
[root@RHEL8-5
~]# yum install cifs-utils
-y
(2)Linux客户端使用smbclient命令访问服务器。
smbclient可以列出目标主机共享目录列表。Smbclient