1.实验环境
虚拟机desktop 虚拟机server
ip设置为172.25.254.155 ip设置为172.25.254.156
主机名设置为client.nelws.com 主机名设置为shareserver.nelws.com
两个虚拟机都需要配置好yum源
2.配置samba共享
1)shareserver
yum install samba samba-common samba-client -y ##安装samba服务端需要的软件
systemctl start smb ##开启samba服务
systemctl stop firewalld ##关闭防火墙
systemctl disable firewalld ##禁止防火墙开机启动
systemctl enable smb ##samba服务开启自启
如果selinux为enforcing状态则需要
setenforce 0
2)client
yum install samba-client ##安装samba客户端软件
3.如何使用samba软件
1)shareserver
samba共享需要使用主机上的真实主机,所以需要先进行一个用户的创建
useradd lei ##新建一个用户,用以smb登陆
smbpasswd -a lei ##用本地用户来配置samba共享用户
smbpasswd -a student ##做实验所需
pdbedit -L ##查看本地的samba用户
pdbedit -x student ##删除student用户的登陆权
如果shareserver的selinux状态为enforcing,则家目录会无法访问,此时需要
setsebool -P samba_enable_home_dirs on ##开启家目录的访问
2)client
smbclient -L //172.25.254.156 ##查看匿名用户共享目录
smbclient -L //172.25.254.156 -U lei ##查看lei用户共享目录,lei用户的目录为lei的家目录
smbclient //172.25.254.156/lei -U lei ##登陆lei用户共享目录
这样访问的方式不太方便,可以使用挂载的方式
mount -o username=lei,password=lei //172.25.254.156/lei /mnt/ ##挂载共享文件夹
df ##查看挂载
4.修改smb配置文件来实现自己想要的功能
编辑配置文件
vim /etc/samba/smb.conf
1)如何修改域名
配置文件第89行,如下图
再次查看
2)如何设置白名单
96行添加hosts allow = ip,ip段,如下图
测试,可以登陆
3)如何设置黑名单
97行添加hosts deny =ip,ip段,如下图
测试,不可以登陆
4)如何使用自己的创建的目录共享
在文件最后添加
[xupt] ##名字
comment = xupt dir share ##对这个目录的描述
path = /xupt ##绝对路径
如下图
测试,成功
如果此时服务器的selinux为enforcing状态,会登陆失败,需要做一下操作
semanage fcontext -a -t samba_share_t '/xupt(/.*)?' ##将/xupt的安全上下文改为samba_share_t
restorecon -RvvF /xupt/ ##逐个刷新/xupt的安全上下文
5)当分享系统目录,而selinux为enforcing状态时,此时必然不可以修改上下文,此时该怎么呢?
例如mnt目录,此时,就需要
setsebool samba_export_all_ro on ##开启全局的对samba共享文件的只读权限
再次尝试就ok了。
7)自己创建的目录的管理
此时权限需要先加满,来做测试
chmod 777 /xupt
(1)writable=yes,主要体现在删除
测试,删除成功
(2)write list = user/@user/+user ,表里的用户可写/用户组可写
测试,发现write list中的lei用户可以删除,student不可以
(3) valid users = user/+user,表示用户可登陆/用户组可登陆
测试,发现lei用户可以登陆,student不可以
(4)browseable = yes,是否可被发现
测试,发现不了了
(5)admin users = user ,uesr相对于共享目录为root用户
测试,在客户端上传文件,!ls表示可以查看客户端当前所在文件夹的文件
回到服务端查看上传的用户,为root用户,所以lei用户在那个共享文件夹里面的权力等于root用户
(6)guest ok = yes ,匿名用户可登陆
map to guest =bad user ## 一般在第126行,把匿名用户映射为guest,必须添加次项!!!
我们先来测试一下现在匿名用户是否可以登陆,不可以
现在我们来添加上述配置
测试,ok了
但是这样是非常不安全的,不建议这样。