CentOS 7 + Samba的配置实例

今天讲一下samba的一些基础配置,内容涵盖了samba的安装,用户权限的配置,首先,看一下项目的背景

 

项目背景

某公司需要搭建内网存储服务器,供给不同部门员工进行业务访问,现需求如下:

 

有四个文件夹,【财务部】【美术部】【策划部】【共享软件】,要求:
1、财务部、美术部和策划部的员工账号,互相独立,只能访问自己部门的文件夹,并且能读、写、执行;
2、所有员工都能访问共享软件soft,但只能读和执行,不能写;
3、策划部的文件夹下,有g1、g2和g3,三个项目组,要求策划部,只有自己项目组的成员才能访问自己项目组的文件夹,同时,策划部主管能访问所有项目组的文件夹;
4、所有文件夹都采用垃圾站回收,防止用户误删除文件;

5、管理员可以对soft文件夹进行读、写、执行操作。

CentOS 7 + Samba的配置实例_第1张图片

 

用户划分

显然,按照需求,不同部门的员工,拥有的权限是不一样的;同部门的员工,也拥有不同的权限,因此,我们简单列个表格

用户名

身份

所属组

授权目录

caiwu1

财务部员工

caiwu1, caiwu

caiwubu, soft

meishu1

美术部员工

meishu1, meishu

meishubu, soft

cehua1

策划部1组

cehua1, cehua

cehuabu, g1, soft

cehua2

策划部2组

cehua2, cehua

cehuabu, g2, soft

cehua3

策划部3组

cehua3, cehua

cehuabu, g3, soft

cehuazhuguan

策划部主管

cehuazhuguan, cehua

cehuabu, g1, g2, g3, soft

admin

管理员

admin

soft

 

明确了各个用户对不同目录的权限后,我们开始进行samba的配置

 

配置服务器

服务器预安装CentOS 7 1810,这是一台全新纯净的linux服务器,刚装好的系统

 

安装samba服务

同时安装vim软件,方便后面的配置文件修改

yum -y install samba samba-client vim

 

关闭Selinux

vim /etc/selinux/config

CentOS 7 + Samba的配置实例_第2张图片

CentOS 7 + Samba的配置实例_第3张图片

保存并退出,reboot重启linux,生效selinux。

 

创建需求目录

我们在根目录下创建一个data目录,再把所有部门的目录,都创建在data下

mkdir /data
cd /data
mkdir caiwubu cehuabu meishubu soft
cd cehuabu
mkdir g1 g2 g3

 

在根目录下创建data_trash目录,这个用于我们samba回收站存放用户误删除的文件

mkdir /data_trash
chmod 777 /data_trash

 

创建需求用户和用户组

为了防止samba用户登录服务器,必须-s添加此参数

useradd -s /sbin/nologin caiwu1
useradd -s /sbin/nologin meishu1
useradd -s /sbin/nologin cehua1
useradd -s /sbin/nologin cehua2
useradd -s /sbin/nologin cehua3
useradd -s /sbin/nologin cehuazhuguan
useradd -s /sbin/nologin admin

groupadd caiwu
groupadd meishu
groupadd cehua
groupadd g1
groupadd g2
groupadd g3

 

创建对应的samba用户

密码按需求设置,这里统一用123456弱口令密码做测试使用

smbpasswd -a caiwu1
smbpasswd -a meishu1
smbpasswd -a cehua1
smbpasswd -a cehua2
smbpasswd -a cehua3
smbpasswd -a cehuazhuguan
smbpasswd -a admin

 

修改各个目录所属组

cd /data
chown root.caiwu caiwubu
chown root.cehua cehuabu
chown root.meishu meishubu
cd cehuabu
chown root.g1 g1
chown root.g2 g2
chown root.g3 g3

 

修改目录权限

chmod 777 /data/soft
chmod 770 /data/cehuabu/g1
chmod 770 /data/cehuabu/g2
chmod 770 /data/cehuabu/g3

 

配置samba主配置文件

在配置之前,先将主配置文件备份一份,防止误操作

cd /etc/samba
cp smb.conf smb.conf.bak
vim smb.conf

CentOS 7 + Samba的配置实例_第4张图片

 

配置【财务部】文件夹

CentOS 7 + Samba的配置实例_第5张图片

 

配置【美术部】文件夹

CentOS 7 + Samba的配置实例_第6张图片

 

配置【策划部】文件夹

CentOS 7 + Samba的配置实例_第7张图片

 

配置【soft】文件夹

CentOS 7 + Samba的配置实例_第8张图片

 

全局开启垃圾站回收

CentOS 7 + Samba的配置实例_第9张图片

 

保存并退出

 

启动、自启动samba服务

systemctl start smb.service
systemctl enable smb.service

 

防火墙放通samba服务

firewall-cmd --permanent --zone=public --add-service=samba
firewall-cmd --reload

 

验证目录是否有效限制权限

目标1:admin用户只能进入soft目录,且能写文件进去;其它目录均不能访问

 

美术部已被拒绝访问,财务部和策划部也是

CentOS 7 + Samba的配置实例_第10张图片

 

soft能进入,能存放文件,并删除

CentOS 7 + Samba的配置实例_第11张图片

CentOS 7 + Samba的配置实例_第12张图片

CentOS 7 + Samba的配置实例_第13张图片

 

删除的文件已放到回收站

CentOS 7 + Samba的配置实例_第14张图片

 

目标2:cehua1能进入策划部的g1且能够读写,g2和g3不能进入,能执行soft目录里的程序,不能删除soft目录下的文件

 

授权cehua1进入g1的权限

usermod -a -G cehua cehua1
usermod -a -G g1 cehua1
systemctl restart smb

CentOS 7 + Samba的配置实例_第15张图片

CentOS 7 + Samba的配置实例_第16张图片

CentOS 7 + Samba的配置实例_第17张图片

CentOS 7 + Samba的配置实例_第18张图片

CentOS 7 + Samba的配置实例_第19张图片

 

 

目标3:cehuazhuguan能进入策划部所有项目组的文件,并能管理所有项目组的文件

授权cehuazhuguan

usermod -a -G cehua cehuazhuguan
usermod -a -G g1 cehuazhuguan
usermod -a -G g2 cehuazhuguan
usermod -a -G g3 cehuazhuguan
systemctl restart smb

g1正常进入

CentOS 7 + Samba的配置实例_第20张图片

 

删除g1的文件

CentOS 7 + Samba的配置实例_第21张图片

CentOS 7 + Samba的配置实例_第22张图片

 

到g2创建文件

CentOS 7 + Samba的配置实例_第23张图片

 

同样,策划主管也能执行soft里面的软件安装包

 

 

总结

1、samba的配置,首先要明确需求,确定好目录结构和用户权限;

2、目录权限配置时,先放通所有权限,逐个测试能否正常使用,再按照需求,逐个限制权限;

3、当samba无法访问时,多检查linux配置,很多时候并不是samba配置限制了,是linux本身的权限限制了。比方说selinux是否关闭,防火墙是否开启、放通对应的策略和端口等等。

 

你可能感兴趣的:(Linux)