需求描述

在/var/share/目录中建立三个子目录public,training,devel,用途如下

  • public目录用于存放公共数据,如公司的规则制度、员工手册等。
  • training目录用于存放公司的技术培训资料。
  • devel目录用于存放项目开发数据。

将/var/share/public/目录共享为public,所有员工都可以访问,但只有读取权限。

将/var/share/training/目录共享为peixun,允许管理员admin和技术部的所有员工读取数据,但不能写入:禁止其他人访问。

将/var/share/devel/目录共享为kaifa,技术部的所有员工都可以读取该目录中的文件,但是只有管理员admin及bdqn项目组的员工有写入权限。


安装samba服务:使用目的yum源

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-Media.repo
CentOS-CR.repo CentOS-Sources.repo
CentOS-Debuginfo.repo CentOS-Vault.repo
CentOS-fasttrack.repo
[root@localhost yum.repos.d]# mkdir repo.bak
[root@localhost yum.repos.d]# mv *.repo repo.bak
[root@localhost yum.repos.d]# ls
repo.bak
[root@localhost yum.repos.d]#
[root@localhost yum.repos.d]# pwd
/etc/yum.repos.d
[root@localhost yum.repos.d]# vim local.repo
[root@localhost yum.repos.d]# cat local.repo
[stven]
name=stven
baseurl=file:///mnt
enabled=1
gpgcheck=0
[root@localhost yum.repos.d]# yum -y install samba



[root@localhost ~]# yum -y install samba

已安装:
samba.x86_64 0:4.8.3-4.el7

作为依赖被安装:
pytalloc.x86_64 0:2.1.13-1.el7
samba-common-tools.x86_64 0:4.8.3-4.el7
samba-libs.x86_64 0:4.8.3-4.el7

完毕!
[root@localhost ~]# systemctl start smb //启动smb服务
[root@localhost ~]# systemctl start nmb //启动nmb服务
[root@localhost ~]# systemctl enable smb //设置为开机自动启动smb服务
Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.
[root@localhost ~]# systemctl enable nmb //设置为开机自动启动nmb服务
Created symlink from /etc/systemd/system/multi-user.target.wants/nmb.service to /usr/lib/systemd/system/nmb.service.



在/var/share/目录中建立三个子目录public,training,devel,用途如下

[root@localhost var]# mkdir /var/share/pubilc/
[root@localhost var]# mkdir /var/share/training/
[root@localhost var]# mkdir /var/share/devel/
[root@localhost var]# cd /var/share
[root@localhost share]# ls
devel pubilc training

将/var/share/public/目录共享为public,所有员工都可以访问,但只有读取权限。

[pulic]
path = /var/share/pubilc //指定共享目录
read only = yes //只读权限
writable = no //禁止写入
comment = pulic:ervyony use,only read //描述
browseable =yes //对所有人共享

将/var/share/training/目录共享为peixun,允许管理员admin和技术部的所有员工读取数据,但不能写入:禁止其他人访问。

[peixun]
comment=除管理员和技术部员工外禁止访问 //描述
path = /var/share/training //指定路径
read only =yes //只读权限
valid list = admin //写权限账户列表,这里控制admin有写权限
valid group = jishu //有效组列表
browseable = yes //对所有人共享
admin users=admin //设置管理员为admin

将/var/share/devel/目录共享为kaifa,技术部的所有员工都可以读取该目录中的文件,但是只有管理员admin及bdqn项目组的员工有写入权限。

[kaifa]
comment = 技术部员工可读,只有管理员和bdqn项目组员工可写 //描述
path = /var/share/devel //路径
read only = yes //只读
browseable = yes //对所有人共享
valid group = jishu //有效组列表
valid list = admin //权限账户列表,表示admin可写
valid list =@bdqn //权限组列表,表示组bdqn可写
admin users =admin //管理员账户

使用[root@localhost ~]# testparm命令检测samba配置是否具有正确性

Loaded services file OK.

重启samba服务

关闭防火墙:

[root@localhost share]# systemctl stop firewalld.service  
[root@localhost share]# setenforce 0

使用admin用户登陆并访问共享文件夹

[admin@localhost ~]$ smbclient -U admin //10.0.8.174/pulic

Enter SAMBA\admin's password:
smb: \> ls
. D 0 Tue Jul 12 16:27:10 2022
.. D 0 Tue Jul 12 15:14:07 2022
test.txt N 28 Tue Jul 12 16:27:10 2022

81747972 blocks of size 1024. 76332240 blocks available
smb: \>