linux中如何使用smb文件共享

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了

但是这样是非常不安全的,不建议这样。

猜你喜欢

转载自blog.csdn.net/weixin_40543283/article/details/84539759
今日推荐