共计 3130 个字符,预计需要花费 8 分钟才能阅读完成。
最近 Windows SMB 协议的 445 端口漏洞闹得沸沸扬扬,接着 Unix 和类 Unix 操作系统也报出相关漏洞,好在都已经被修复。本次文章是将在 Linux 环境下用 Samba 源代码搭建一个 SMB 文件服务器,Samba 采用目前最新的 4.6.4 版本。
服务器软件采用:CentOS 7.2.1511
图 1
安装 CentOS 时,采用最小化安装,这样可以减少不必要的系统开销与漏洞风险。安装完成后,建议先关闭 SELinux(图 2)和防火墙(图 3),待应用布署完成后,再作安全防护调试。
图 2
图 3
CentOS 最小化安装并没有包括网络工具组件,可以先将此安装:命令:yum install –y mlocate net-tools
图 4
接下来我们为 Samba 源码安装布署环境基础。
命令:yum install gccgcc++ gnutls-devel Python python-devel python-lib* libacl-developenldap-devel -y
图 5
将“samba-4.6.4.tar.gz”文件复制到“/tmp”目录下并解压并安装。
1、tar -zxvf samba-4.6.4.tar.gz
2、cd samba-4.6.4
3、./configure –prefix=/opt/samba/
4、make
5、make install
图 6 configure
图 7 make
图 8 make install
添加动态链接库
echo “/opt/samba/lib” >> /etc/ld.so.conf
ldconfig #加载动态链接库
复制、过滤配置文件,可以省略自己生成
1、cp/tmp/samba-4.6.4/packaging/LSB/smb.conf/opt/samba/etc/
2、cd!$
3、cpsmb.confsmb.conf.bak # 将 smb.conf 备份
4、grep -Ev “#|^$|;” smb.conf.bak>smb.conf
至此 Samba 已安装完成,接下来还有如下 6 步工作要做。
1、配置 smb.conf 文件
目前 smb.conf 默认内容如下:
[global]
workgroup = MYGROUP
server string = Samba Server
printcap name = /etc/printcap
load printers = yes
log file = /var/log/samba/log.%m
max log size = 50
security = user
dns proxy = no
[homes]
comment = Home Directories
browseable = no
writable = yes
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
根据我的共享需求,在根目录下建立“ShareFiles”文件夹,将一些软件、资料共享在此处,并设置“user-group”组对此目录有读取权限,但此组中只有“user01”有写权限。
[ShareFiles]
comment = Files Shares
path = /ShareFiles
browseable = no
writeable = no
valid users = @user-group
write list = user01
2、添加 Linux 系统账户(useradd)
建立 4 个 user 账户,都加入到“user-group”组中,这 4 个帐户只用于 Samba 应用,没有登陆系统的权限。
这里假设了两个场景:1)user01-user03 用户除了可以读共享内容之外,还可以读写自己的 Home 目录。2) 而 user04 用户只能读共享内容,不能读写自己的 Home 目录,所以在建立 user04 帐户时使用了“-M -N”(不建立同名组和 Home 目录)。
groupadd user-group
useradd -s /sbin/nologin -G user-group user01
useradd -s /sbin/nologin -G user-group user02
useradd -s /sbin/nologin -G user-group user03
useradd -s /sbin/nologin -G user-group -M -N user04
3、将 Linux 已存在系统帐户添加到 Samba 应用中(pdbedit)
/opt/samba/bin/pdbedit -a -u user01
/opt/samba/bin/pdbedit -a -u user02
/opt/samba/bin/pdbedit -a -u user03
/opt/samba/bin/pdbedit -a -u user04
将系统的 4 个用户添加到 Samba 应用中,并设置密码(图 9),此密码是 Samba 密码,与 Linux 系统密码无关。
图 9 pdbedit
建立 Samba 帐户,查看是否成功(图 10)。
图 10
4、修改共享目录权限。对于 Samba 共享文件夹中的读写权限,除了 smb.conf 文件中作相应的配置之外,也需要在 Linux 系统层面对此共享文件夹作写操作,可将组(Group)设置为可写,也可将其它(Other)设置为写(图 11)。命令:chmodo+wShareFiles/
图 11
5、启动 Samba 服务。命令:/opt/samba/sbin/smbd
6、查看 Samba 进程是否存在(图 12)。
图 12
到此,Samba 应用搭建完成,smb.conf 中有很多参数,请各位多多测试,灵活使用,找到自己合适的使用配置。
———————————— 分割线 ————————————
CentOS 7.2 安装配置 Samba 服务器 http://www.linuxidc.com/Linux/2017-03/141390.htm
VMWare 虚拟机 Ubuntu 双网卡 访问 samba 速度 翻倍 http://www.linuxidc.com/Linux/2013-06/85445.htm
Ubuntu 15.04 安装 Samba 服务 http://www.linuxidc.com/Linux/2016-03/129201.htm
samba 安装使用图解 http://www.linuxidc.com/Linux/2017-03/141254.htm
CentOS 7.2 安装配置 Samba 服务器 http://www.linuxidc.com/Linux/2017-03/141390.htm
CentOS 部署 Samba 企业文件共享服务 http://www.linuxidc.com/Linux/2016-06/132609.htm
Samba 共享服务器的搭建优化 http://www.linuxidc.com/Linux/2017-03/141700.htm
CentOS 6.7 下 Samba 服务器的搭建与配置(share 共享模式)http://www.linuxidc.com/Linux/2016-12/138220.htm
Ubuntu 16.04 下 Samba 相关配置 http://www.linuxidc.com/Linux/2016-12/138498.htm
———————————— 分割线 ————————————
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-06/144557.htm