Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages
Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,
它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、
打印机及其他资源。

在安装了虚拟机之后,发现里面的CentOS 7与宿主机进行文件共享不是很方便,于是就直接安装配置了Samba实现win7与CentOS
7的文件共享。

一、CentOS 7 安装Samba
1、使用yum -y install samba samba-client samba-common安装Samba
2、查看Samba版本信息rpm -qi samba

二、配置Samba服务器
1、配置需求如下:

共享名 路径 权限
SHAREDOCS /home/clj/share 所有人员包括来宾均可以访问
RDDOCS /home/wwwroot/default 仅允许特定组的用户进行读写访问(这个是LNMP安装后web服务器根目录)
特定组的组名为www,目前的clj、lxl两个人;

2、创建共享目录
mkdir -p /home/clj/share
mkdir -p /home/wwwroot/default
其中 -p确保目录名称存在,如果目录不存在的就新创建一个;

三、修改配置文件
1、 备份原有的配置文件
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

2、在配置文件末尾开始配置,添加如图内容

vi /etc/samba/smb.conf

centos8如何搭建samba服务器 centos7 samba服务器_用户名


四、创建用户并分配权限

1、创建操作系统用户lxl、clj(如果用户已经存在就不需要再创建了)

操作格式:useradd 用户名

例如:# useradd lxl

2、修改用户的组(需要将lxl,clj都加到www组里面)

操作格式: usermod -a-G 组名 用户名

例如:# usermod -a-G www lxl

以上表示,将lxl用户添加到www组;

3、查看用户id信息

例如# id lxl

uid=1005(lxl) gid=1005(lxl) 组=1005(lxl),1002(www)

注意:adduser和useradd的区别;在使用adduser命令时,它会添加这个用户名,并创建和用户名名称相同的组名,并把这个用户名添加到自己的组里去,并在/home目录想创建和用户名同名的目录,并拷贝/etc/skel目录下的内容到/home/用户名/的目录下,并提示输入密码,并提示填写相关这个用户名的信息。在使用命令useradd时,它会添加这个用户名,并创建和用户名相同的组名,但它并不在/home目录下创建基于用户名的目录,也不提示创建新的密码。

五、创建用户并分配权限
操作格式:命令+用户名
例如:# smbpasswd -a lxl

修改目录权限
chown -R www:www /home/wwwroot/default
chmod -R 777 /home/clj/share

查看权限
#ls -ald /home/clj/share/

六、测试连接
1、查看服务
systemctl restart smb
systemctl enable smb
systemctl status smb

2、Linux上测试
#smbclient -L localhost -U lxl效果如图

3、Windows7上测试
a、win+r快捷键打开运行窗口,输入\ip\目录(其中目录可不写)
\192.168.126.128

b、弹出共享目录,双击rddocs,输入之前配置的用户名密码,即可操作samba共享的文件

注意:CentOS7 可能默认打开了防火墙,会访问失败,通过systemctl stop firewalld.service #停止防火墙systemctl disable firewalld.service #禁用防火墙

centos8如何搭建samba服务器 centos7 samba服务器_配置_02

以上便是全部流程~