Linux服务6:samba服务器的搭建与配置


1.samba的相关概念

1.1 samba的定义

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。

SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议, 它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、 打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。Windows和Sun公司开发,所以可以跨平台。

目标:让Windows与Unix-LIke 这两个不同的操作系统平台相互共享数据的文件系统
在这里插入图片描述

1.2 samba的软件架构
  • samba:服务器端的应用程序,这个套件主要提供了SAM服务器所需的各项服务程序 (smbd及nmbd )、SAMBA的文件档 ( document )、以及其它与SAMBA 相关的logrotate 设定文件及开机默认选项档案等 。
  • samba-common:这个套件则主要提供了 SAMBA 的主要配置文件(smb.conf) 、 smb.conf 语法检验的测试程序( testparm )等等,samba的支持文件;
  • samba-client:客户端的应用程序,这个套件则提供了当Linux做为SAMBAClient端时,所需要的工具指令,例如挂载SAMBA文件格式的mount.cifs、取得类似网上邻居相关树形图的smbtree等。如果Linux系统共享资源,没有Windows作为测试,可以用LInux自带的samb-client作为测试端!

2.搭建samba服务器

服务端:172.25.60.251

1	搭建smb服务器

yum install samba samba-common samba-client -y
rpm -qa | grep samba		##查看samba服务的版本
rpm -ql samba-common 		##查看samba服务的主配置文件
getenforce  disabled		##将selinux关掉
systemctl start smb			##开启smb
systemctl enable smb
netstat -antlupe | grep smb	##查看smb开启的接口

Firewall-cmd --permanent --get-service  	##查看火墙中所有的服务
firewall-cmd --permanent --add-service=samba	##在火墙中允许smb
firewall-cmd --reload

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2 添加smb用户
pdbedit -L		##查看samba服务器的samba用户
useradd -s /sbin/nologin -M westos		##创建westos用户但不建立家目录
smbpasswd -a 添加用户(被添加用户必须是系统用户)
smbpasswd -x 删除用户

在这里插入图片描述

3 创建共享目录
cd /etc/samba/
vim smb.conf
mkdir -vp /sambashare
chmod 777 /sambashare/
systemctl restart smb

在这里插入图片描述
在这里插入图片描述
客户端:172.25.60.252

yum install samba-client -y 

在这里插入图片描述

smbclient -L //172.25.60.251 	##匿名用户登录(-L表示list列出)
smbclient -L //172.25.60.251 -U westos 		##samba用户登录查看共享目录
smbclient //172.25.60.251/WESTOS -U westos 	##直接进入samba共享服务
	ls ##查看当前共享目录
	!ls ##查看当然本机用户所在目录
	put anaconda-ks.cfg ##

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

mount //172.25.60.251/WESTOS /mnt -o username=westos,password=westos
将samba服务器的目录挂载在本地目录/mnt下面,挂载的时候必须加上samba用户,cd /mnt进入挂载目录,实际上进入了samba服务器的共享目录

在这里插入图片描述
服务端:172.25.60.251
在这里插入图片描述


3.自动挂载共享目录

客户端:172.25.60.252

yum install autofs -y
systemctl start autofs.service
vim /etc/auto.master
	#
	/misc	/etc/auto.misc
	/mnt	/etc/auto.samba
vim /etc/auto.samba
	WESTOS -fstype=cifs,username=lee,password=lee ://172.25.60.251/WESTOS
vim /etc/sysconfig/autofs
	TIMEOUT=3
systemctl restart autofs.service

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试:

cd mnt
ls
cd WESTOS
ls

在这里插入图片描述


4.samba服务配置及权限的更改

4.1 基础配置修改
  1. 域名
    服务端:172.25.60.251
vim /etc/samba/smb.conf
	workgroup = WESTOS

在这里插入图片描述
在这里插入图片描述
测试:客户端:172.25.60.252

smbclient -L //172.25.60.251

在这里插入图片描述
2. 黑名单
服务端:172.25.60.251

vim /etc/samba/smb.conf
	hosts deny = 172.25.60.252	##不允许我的客户端登录,其余都可以登录
systemctl restart smb

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试:客户端:172.25.60.252

smbclient -L //172.25.60.251

在这里插入图片描述
3. 白名单
服务端:172.25.60.251

vim /etc/samba/smb.conf
	hosts allow = 172.25.60.252	##只允许我的客户端登录
systemctl restart smb

在这里插入图片描述
在这里插入图片描述
测试:客户端:172.25.60.252

smbclient -L //172.25.60.251

在这里插入图片描述

4.2 权限修改
  1. 匿名用户登录
    服务端:172.25.60.251
vim /etc/samba/smb.conf
	guest ok =yes                  ##使匿名用户可以登陆
	map to guest = bad user        ##使匿名用户可以挂载,使挂载进程识别samba匿名用户
systemctl restart smb

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试:客户端:172.25.60.252

smbclient //172.25.60.251/WESTOS
mount //172.25.60.251/WESTOS /media/ -o username=guest  ##匿名用户挂载
df
ummont //172.25.60.251/WESTOS

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2. 隐藏目录
服务端:172.25.60.251

vim /etc/samba/smb.conf
	 browseable=no   ##隐藏这个共享目录,使客户端-L看不见samba服务器对外共享的目录,但是实际上是存在的,可以进去
systemctl restart smb

在这里插入图片描述
在这里插入图片描述
测试:客户端:172.25.60.252

smbclient -L //172.25.60.251

在这里插入图片描述
3. 可登录用户
(1)
服务端:172.25.60.251

vim /etc/samba/smb.conf
	 valid users=westos   ##客户端可以用来登陆samba服务端的samba用户身份
systemctl restart smb

在这里插入图片描述
在这里插入图片描述
测试:客户端:172.25.60.252

smbclient //172.25.60.251/WESTOS -U westos		##可登录
smbclient //172.25.60.251/WESTOS -U zjy			##不可登录

在这里插入图片描述
(2)
服务端:172.25.60.251

vim /etc/samba/smb.conf
	 valid users=@/+westos   ## 属于westos组的用户才可以登陆samba服务器 
systemctl restart smb
Usermod -G westos zjy
id zjy

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试:客户端:172.25.60.252

smbclient //172.25.60.251/WESTOS -U zjy			##可登录

在这里插入图片描述
4. 可写用户列表
服务端:172.25.60.251

vim /etc/samba/smb.conf
	 write list =@westos   ##可写用户的列表(和 writable=yes只能一个存在),服务允许只有westos用户和组可以对samba目录写
systemctl restart smb

在这里插入图片描述
在这里插入图片描述
测试:客户端:172.25.60.252

mount //172.25.60.251/WESTOS /mnt/ -o username=westos,password=westos	##可写
mount //172.25.60.251/WESTOS /mnt/ -o username=zjy,password=zjy

在这里插入图片描述
在这里插入图片描述
5. ** 提升用户权限**
服务端:172.25.60.251

vim /etc/samba/smb.conf
	 admin users =  westos    ##指定 smb 服务的访问管理用户
systemctl restart smb

在这里插入图片描述
在这里插入图片描述
测试:客户端:172.25.60.252

mount //172.25.60.251/WESTOS /mnt/ -o username=westos,password=westos	

在这里插入图片描述
在这里插入图片描述

4.3 Samba多用户挂载

客户端:172.25.60.252

以认证文件方登录smb,是切换到student用户不可以登录,因为student用户没有权限
yum install cifs-utils -y
vim /etc/auto.samba
	WESTOS -fstype=cifs,credentials=/root/smbpass,sec=ntlmssp,multiuser     ://172.25.60.251/WESTOS
vim /root/smbpass
	username=westos
	password=westos
chmod 600 /root/smbpass
systemctl restart autofs.service 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
那么此普通用户student,想要查看此共享目录内的内容,就要通过验证:
cifscreds add -u ranran 172.25.60.251 给本地用户student一个samba用户的身份,此时他就可以通过验证了。
在这里插入图片描述


5.selinux开启之下对samba服务的权限修改

服务端:172.25.60.251
方法一:

vim /etc/sysconfig/selinux	##开启selinux
reboot
Getenforce 

sam允许的上下文是samba_share_t
ls -Zd /sambashare/
semanage fcontext -a -t samba_share_t '/sambashare(/.*)?'
restorecon -RvvF /sambashare/

在这里插入图片描述
方法二:

vim /etc/samba/smb.conf
	path=/mnt
systemctl restart smb.service
getsebool -a | grep samba
	samba_create_home_dirs --> off
	samba_domain_controller --> off
	samba_enable_home_dirs --> off
	samba_export_all_ro --> off
	samba_export_all_rw --> on
	samba_portmapper --> off
	samba_run_unconfined --> off
	samba_share_fusefs --> off
	samba_share_nfs --> off
	sanlock_use_samba --> off
	use_samba_home_dirs --> off
	virt_sandbox_use_samba --> off
	virt_use_samba --> off
setsebool -P samba_export_all_rw on

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值