CentOS 7部署SAMBA文件共享服务

        SMB(Server Message Block,服务信息块)又称CIFS(Common Internet File System,通用Internet文件系统),是一种应用层网络传输协议。微软公司和英特尔公司于1987年共同制定了SMB,旨在解决局域网内的文件或打印机等资源的共享问题。Samba是一款基于SMB/CIFS协议的开源软件,通过简单的配置就能够实现Linux操作系统与Windows操作系统之间的文件共享。
        Samba由smbd和nmbd两个守护进程组成,采用服务端/客户端模式。smbd进程除了为客户端提供文件共享与打印机服务,还负责用户权限验证以及锁功能。smbd默认监听的端口是TCP协议的139与445,Samba通过smb服务启动smbd进程,使用netstat -nutlp可查看进程端口信息。nmbd进程提供NetBIOS名称服务,以满足基于Common Internet File System(CIFS)协议的共享访问环境。Samba通过nmb服务启动nmbd进程,该进程默认使用是UDP 137端口。
一、部署samba服务端
1、安装samba。

yum -y install samba

2、备份samba主配置文件(可选操作)。

cp -a /etc/samba/smb.conf /etc/samba/smb.conf.bak

3、创建共享目录并修改目录权限。

mkdir /samba
chmod -Rf 777 /samba

4、编辑samba主配置文件/etc/samba/smb.conf,添加如下信息。

[samba]
comment = samba share
path = /samba
public = no
writable = yes
guest ok = no

5、使用命令pdbedit创建用于访问共享资源的用户信息数据库。

groupadd samba -g 3000
useradd lw -u 4000 -g 3000 -s /sbin/nologin
pdbedit -a lw
说明:
-u 4000:指定用户ID为4000
-g 3000:指定用户的所属组ID为3000,指定的组必须先于用户创建。
-s /sbin/nologin:指定用登录的shell。
pdbedit命令用于管理SMB服务程序的用户信息数据库,常用参数及作用如下所示:
-a:建立Samba用户。
-x:删除Samba用户。
-u:指定本地用户。
-L:列出用户列表。
-Lv:列出用户详细信息的列表。

7、重启smb服务并将其加入开机启动。

systemctl restart smb
systemctl enable smb

二、部署Windows 10客户端
1、使用\192.168.10.10访问samba共享目录,出现如下错误提示,是因为没有关闭或设置Linux防火墙。

2、设置或关闭Linux防火墙。

firewall-cmd --permanent --add-service=samba    #默认区域添加samba服务
firewall-cmd --reload    #重新加载防火墙

systemctl stop firewalld    #关闭防火墙
systemctl disable firewalld    #禁用防火墙

3、使用\192.168.10.10访问samba共享目录,在弹出的窗口中输入samba服务器中创建的用户名和密码,单击确定进入。


4、双击共享目录(samba),出现没有权限访问的错误提示。

5、查看并设置与samba相关的selinux boolean(布尔值)。

getsebool -a | grep samba    #查看与samba相关的selinux Boolean
setsebool samba_export_all_ro=on     #开启只读权限
setsebool samba_export_all_rw=on     #开启读写权限

6、双击共享目录(samba),进入目录创建目录和文件。

7、依次打开“此电脑–计算机–映射网络驱动器–映射网络驱动器。

8、选择驱动器编号(X:)、文件夹(\192.168.10.10\samba),然后单击完成。

猜你喜欢

转载自blog.csdn.net/weixin_44631823/article/details/109295175