前言:
ZR公司搭建了一台文件服务器,并通过文件共享方式发布到局域网中,客户端需要针对不同的用 户设置不同的访问权限来保障资源的安全。
环境准备
均使用NAT模式,仅主机也可
设置固定IP
设置手动相同网段ip
设置方法如下
服务提供端 :红帽/centos 192.168.124.128
红帽/centos 192.168.124.129
我这里用物理机直接测试,不用开虚拟机的window7
服务端测试能否ping通
samba简介
Samba是基于SMB/CIFS协议开发的软件,为不同操作系统(Windows、Linux)提供文件服务 和打印服务。Samba由smba和nmbd两个守护进程组成,使用服务端和客户端模式。 smbd进程除了为客户端提供文件共享与打印机服务,还负责用户权限验证以及锁功能。smbd默 认监听的端口是TCP协议的139与445,Samba通过smb服务启动smbd进程,使用netstat -nutlp可查 看进程端口信息。 nmbd进程提供NetBIOS名称服务,以满足基于Common Internet File System(CIFS)协议的 共享访问环境。Samba通过nmb服务启动nmbd进程,该进程默认使用是UDP 137端口。 SMB(Server Message Block)又称为CIFS ( Common Internet File System ),是由微 软开发的一种基于应用层的网络传输协议。
开始部署samba服务端
我的系统环境是红帽7.4
使用下面查看服务
rpm -qa | grep samba
发现已经自带安装了,但是功能不全!
需要再次执行安装命令
确保自己配置了yum源:
centos如下
安装 samba
yum -y install samba
创建共享目录并设置其访问权限
部署Samba服务端
创建用户smb_user
useradd -s /sbin/nologin smb_user //把用户添加到samba用户中
smbpasswd -a smb_user //设置smb_user密码 我设置的密码是123.com
smbpasswd命令用于samba用户的操作,常用参数如下所示。
设置samba的配置文件
vim /etc/samba/smb.conf
默认情况下,samba已开启本地账号家目录共享 和打印机共享
若需要开启额外的共享目录,需要设置samba的配置文件。
[smb_data] #共享名称
comment=smb_data share #共享描述
path= /data/smb_data #共享的目录路径
browseable=yes #所有人可见(允许)
writable=yes #写入操作(允许)
guest ok =no #匿名用户访问(拒绝)
重启smb服务并加入开机启动项
systemctl restart smb
systemctl enable smb
设置防火墙
firewall-cmd --permanent --add-service=samba #默认区域添加samba服务
firewall-cmd --reload #重新加载防火墙
SELinux简介
SELinux(Security-Enhanced Linux)是一个强制访问控制(MAC,Mandatory Access Control)的安全子系统。CentOS 7(RHEL 7)系统使用SELinux技术的目的是为了让各个服务进程都 受到约束,使其仅获取到本应获取的资源,增强系统的安全性。SELinux域限制功能限制服务程序只能 执行与本服务相关的操作,SELinux安全上下文确保文件资源只能被其所属的服务程序进行访问。 SELinux服务的三种运行模式如下所示: (1)enforcing(1):强制启用安全策略模式,将拦截服务的不合法请求; (2)permissive(0):遇到服务越权访问时,只发出警告而不强制拦截; (3)disabled:(关闭)对于越权的行为不警告也不拦截
临时关闭SELinux
setenforce 0
如果想永久关闭selinux,则需要
vim /etc/selinux/config
将SELINUX=disabled
Linux客户机!!!
安装samba客户端
yum -y install samba-client
Linux客户机查看指定服务器共享资源
smbclient -L //192.168.124.128 -U smb_user%123.com
-L //192.168.124.128为显示该主机的共享资源,-U smb_user%123456为指定用户名及密码
Linux客户机访问共享目录
smbclient -U smb_user%123.com //192.168.124.128/smb_data
Linux客户机使用命令ls可以查看服务器的共享目录中的文件及目录,上传使用命令put,下载使用命令get,退出使用命令quit
put /root/anaconda-ks.cfg anaconda-ks.cfg //上传root目录下的anaconda-ks.cfg
get anaconda-ks.cfg /anaconda-ks.cfg
quit
Linux客户机挂载共享目录并设置开机启动项
mkdir /smb_data创建挂载点
vim /etc/fstab文件设置为开机自动挂载
mount -a挂载所有文件系统
df -h查看挂载情况
客户机进入挂载目录/smb_data,创建sss文件夹以及aaa.txt,进行测试
服务端进入被挂载目录/data/smb_data,查看是否sss文件夹以及aaa.txt是否被同步创建
发现成功同步!
Samba客户端(Windows10)
运行窗口输入
\\服务端ip\smb_data
输入账户smb_user及密码
即可进入