Linux配置与应用Samba服务

| 文章字数:1.5k | 阅读时长:5min
这是一篇更新于 574 天前的文章,其中的信息可能已经有所发展或是发生改变。

Samba是一款自由软件,用来让UNIX系列操作系统与微软的windows操作系统SMB/CIFS网络协定做连结。Samba不仅可以存取及分享SMB的资料夹与打印机,本身还可以整合录入windows server网域,扮演着网域控制站以及加入活动目录。此软件在windows和unix系列操作系统之间搭建起一座桥梁让两者资源可以互通有无。

任务一

安装Samba与共享用户的家目录

Samba软件的安装

1
yum install -y samba

新建samba用户

1
2
useradd yhy -s /dev/null
smbpasswd -a yhy

服务启动

samba服务重新启动,并且设置开机启动

1
2
service smb restart
chkconfig smb on

关闭防火墙及SELinux

进行访问

备注: Windows客户端需要启用SMB协议的支持如果Win10 系统没有启用smb协议,可在控制面板中,启用该功能,Windows客户端访问配置服务器端和客户端电脑的IP地址无论是无线网卡还是有线网卡桥接,确保其在同一个网段即可。

windows客户端访问

Linux客户端访问

任务二

配置学校samba服务器

现学校需要配置一台samba服务器,老师需要把资料共享给学生,老师可以将自己的资源上传到服务器上,而学生只能下载资源,不能上传以及删除服务器上的资源。

分析:我们需要建立一个共享目录,只有teachers组用户可以读写该目录,而students用户组只能读取。具体操作如下

建立用户以及群组

1
2
3
4
groupadd students  #建立学生群组
groupadd teachers #建立教师群组
useradd -g students student1 #建立学生用户并且加入学生群组
useradd -g teachers teacher1 #建立教师用户并且加入教师群组

建立samba用户

1
2
smbpasswd -a student1
smbpasswd -a teacher1

建立共享目录以及设置文件夹权限

1
2
3
4
mkdir /home/student  #在home下建立共享目录
chgrp students /home/student1 #设置共享目录所属组为students
chmod 757 /home/student #设置共享目录权限
chmod g+s /home/student #设置特殊权限。目录下所有文件的所有属组会变成和目录一样的权限

配置samb配置文件的全局参数

1
vim /etc/samba/smb.conf

备注浏览即可目前大部分不需要修改,只需在最后添加以下内容

1
2
3
4
5
[student]
44path=/home/student
44comment =student
44write list=@teachers
44valid users=@teachers @students #主要此处有空格

samba服务重新启动

1
service smb restart

客户端测试

如果之前使用其他smb账号登录过,需要断开连接重新登录

student1登录

teacher1

teacher1可以删除以及上传(teacher1具有读写权限)而student1则只能下载文件(没有相关权限)

任务三

配置企业级Samba权限

背景配置公司的samba服务器,目录为/samba。/samba内有3个文件夹,市场部的文件夹market要求只有市场部的员工才可以修改,登录需要验证;销售部的文件夹sales要求只能销售部员工才能读取修改,登录时需要验证;pub是公共文件夹,所有用户都能够访问,允许所有登录者读取修改,登录时需要验证。user可以修改所有的工作目录。

配置企业一般文件权限

第一步:建立共享目录

1
mkdir -p /samba/market sales pub

第二步:建立用户群组

1
2
3
groupadd marketusers		#建立市场部用户组
groupadd salesusers #建立销售部用户组
useradd user -s /sbin/nologin #建立user用户并指明不可用的shell

第三步:设置文件夹权限

1
2
3
4
chmod 770 sales market
chmod 777 pub
chown :marketusers market
chown :salesusers sales

第四步:备份配置文件

1
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

第五步:编辑samba配置文件

在最后添加如下内容

1
2
3
4
5
6
7
[samba]
44comment=samba share files
44path=/samba
44vaild=@marketusers @salesusers user
44read only=no
44create mask=666
44directory mask=777

第六步:建立samba用户

1
smbpasswd -a user

配置企业特殊文件权限

第一步:建立共享目录

1
2
mkdir /home/sales
mkdir /home/market

第二步:建立用户以及群组

1
2
3
4
5
groupadd sales
groupadd market
useradd -g sales salesuser #建立salesuser用户并加入sales组
useradd -g market marketuser
useradd ceo

第三步:建立samba访问账号

1
2
3
smbpasswd -a salesuser
smbpasswd -a marketuser
smbpasswd -a ceo

第四步:设置文件夹的权限

1
2
3
4
5
6
7
8
chgrp sales /home/sales  #修改所属组为sales
chgrp market /home/market
chown ceo /home/sales
chwon ceo /home/market #修改目录的用户为ceo
chmod 770 /home/sales
chmod 770 /home/market
chmod g+s /home/sales #为目录加上setgid标识
chmod g+s /home/market

备注setgid权限只对于目录有效,任何用户在此目录下创建的文件都属于和该目录所属的组相同的组。

第五步:修改配置文件

修改内容如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
security =user
[sales]
44path=/home/sales
44comment=sales
44write liset=@sales ceo
44valid users=@sales ceo
44create mask=0770
44directory mask=0770
[market]
44path=/home/market
44comment=market
44write liset=@market ceo
44valid users=@market ceo
44create mask=0770
44directory mask=0770

第六步:重启服务

1
service smb restart

客户端验证即可

ceo用户登录

可上传文件

salesuser用户登录

配置企业严格文件权限

由于之前登录的时候会看到自己的共享目录以及没有权限访问的共享文件目录。所以下面我们对其进行优化🙃

第一步:复制配置文件

1
2
3
4
cd /etc/samba
cp smb.conf smb.conf.ceo
cp smb.conf smb.conf.markets
cp smb.conf smb.conf.sales

第二步:配置各自的配置文件

smb.conf.ceo的配置文件的内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[sales]
44path=/home/sales
44comment=sales
44writeable=yes
44valid users=ceo
44create mask=0770
44directory mask=0770
[market]
44path=/home/market
44comment=market
44writeable=yes
44valid users=ceo
44create mask=0770
44directory mask=0770

smb.conf.markets的配置文件的内容如下:

1
2
3
4
5
6
7
[market]
44path=/home/market
44comment=market
44writeable=yes
44valid users=@market
44create mask=0770
44directory mask=0770

smb.conf.sales的配置文件的内容如下:

1
2
3
4
5
6
7
[sales]
44path=/home/sales
44comment=sales
44writeable=yes
44valid users=@sales
44create mask=0770
44directory mask=0770

主配置文件smb.conf的内容如下:

1
2
3
security=user
44include=/etc/samba/smb.conf.%G
44include=/etc/samba/smb.conf.%U

第三步:关闭防火墙以及selinux

1
2
service iptables stop
setenforce 0

第四步:重启服务

1
service smb restart

第五步:客户端测试

salesuser用户测试

marketuser测试

ceo测试

扫码加我微信