` Samba | 听云轩

Samba

Samba 是 SMB/CIFS 网络协议的重新实现, 可以在 Linux 和 Windows 系统间进行文件、打印机共享,和 NFS 的功能类似。

一、安装(基于源码安装 && yum 安装)
注:基于源码安装,虽然操作上难度增加,但是我们可以灵活的对服务的路径等进行设置。

基于源码安装

1、安装编译环境

1
2
3
4
yum install -y gcc gcc-c++ glibc kernel-headers python-devel
yum install -y gnutls-devel gmp-devel gnutls-c++ libtasnl-devel
yum install -y nettle-devel pll-kit-devel zlib-devel libacl-devel
yum install -y openldap-devel cyrus-sasl-devel

2、下载源码并解压
去官网找:

1
2
wget https://download.samba.org/pub/samba/stable/samba-4.9.5.tar.gz
tar xvf samba-4.9.5.tar.gz

3、进入到解压文件夹里面,进行系统环境检查和编译安装

1
2
./configure --prefix=/usr/local/samba
make && make install

注:–prefix选项是指定安装后的文件路径

4、关于/usr/local/samba/sbin里面相关说明

  • smbd:SMB服务器,为客户机如Windows等提供文件和打印服务
  • nmbd:NetBIOS名字服务器,可以提供浏览支持
  • smbclient:SMB客户程序,类似于FTP程序,用以从Linux或其他操作系统上访问SMB服务器上的资源
  • smbmount:SMB挂载工具,卸载为smbmount
  • smbpasswd:用户增删登陆服务端的用户和密码

5、修改链接库文件
配置动态链接库文件,因为运行samba的进行smbd和nmbd需要用到目录/usr/local/samba/lib下的动态链接库文件,但是该目录不是系统默认的动态连接搜索路径,于是我们需要将该目录添加到文件ld.so.conf中。
Amcp36.png
然后进行更新

1
ldconfig

6、创建用于特定用户访问的指定目录,并修改此目录的所属用户和组
AmcZ4I.png

创建用户目录并设置允许的用户名和密码,认证方式为系统用户认证,要添加的用户需要在/etc/passwd中存在,也就是说我们先创建一个系统用户,比如:

1
useradd test1

然后加入到samba用户组中

1
/usr/local/samba/bin/smbpasswd -a test1

如果需要查看当前samba用户成员,可以用:

1
pdbedit -L

然后修改共享目录所属的用户以及权限

注:如果需要查看selinux有关samba的设置,可用:

1
getsebool -a | grep samba

7、启动服务

1
2
/usr/local/samba/sbin/smbd
/usr/local/samba/sbin/nmbd

8、关闭防火墙或者放行

1
systemctl stop firewalld.service

9、确定启动

1
lsof -l

AmgWYn.png
10、检测
Amg4S0.png


基于yum源安装

1、安装

1
yum install -y samba samba-client cifs-utils

2、配置相关文件
AmgvSx.png
3、centos 7以后需要对selinux进行设置

1
2
chcon -t samba_share_t [共享的目录]
setsebool -P samba_export_all_ro on

4、添加samba用户和密码,修改相应的权限
这里用的是samba管理成员的工具

1
2
useradd test1
pdbedit -a test1

5、启动服务

1
2
systemctl enable smb nmb
systemctl start smb nmb

6、放行防火墙

1
2
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload
------ 本文结束 ------
您的支持将鼓励我继续创作