你好,游客 登录 注册 搜索
背景:
阅读新闻

CentOS7.2下源码搭建Samba文件服务器[原创]

[日期:2017-06-06] 来源:Linux公社  作者:晓张 QQ:29985085 [字体: ]

最近Windows SMB协议的445端口漏洞闹得沸沸扬扬,接着Unix和类Unix操作系统也报出相关漏洞,好在都已经被修复。本次文章是将在Linux环境下用Samba源代码搭建一个SMB文件服务器,Samba采用目前最新的4.6.4版本。

服务器软件采用:CentOS 7.2.1511

CentOS7.2下源码搭建Samba文件服务器[原创]

图1

安装CentOS时,采用最小化安装,这样可以减少不必要的系统开销与漏洞风险。安装完成后,建议先关闭SELinux(图2)和防火墙(图3),待应用布署完成后,再作安全防护调试。

CentOS7.2下源码搭建Samba文件服务器[原创]

图2

CentOS7.2下源码搭建Samba文件服务器[原创]

图3

CentOS最小化安装并没有包括网络工具组件,可以先将此安装:命令:yum install –y mlocate net-tools

CentOS7.2下源码搭建Samba文件服务器[原创]

图4

接下来我们为Samba源码安装布署环境基础。

命令:yum install gccgcc++ gnutls-devel python python-devel python-lib* libacl-developenldap-devel -y

CentOS7.2下源码搭建Samba文件服务器[原创]

图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

CentOS7.2下源码搭建Samba文件服务器[原创]

图6 configure

CentOS7.2下源码搭建Samba文件服务器[原创]

图7 make

CentOS7.2下源码搭建Samba文件服务器[原创]

图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系统密码无关。

CentOS7.2下源码搭建Samba文件服务器[原创]

图9 pdbedit

建立Samba帐户,查看是否成功(图10)。

CentOS7.2下源码搭建Samba文件服务器[原创]

图10

4、 修改共享目录权限。对于Samba共享文件夹中的读写权限,除了smb.conf文件中作相应的配置之外,也需要在Linux系统层面对此共享文件夹作写操作,可将组(Group)设置为可写,也可将其它(Other)设置为写(图11)。命令:chmodo+wShareFiles/

CentOS7.2下源码搭建Samba文件服务器[原创]

图11

5、 启动Samba服务。命令:/opt/samba/sbin/smbd

6、 查看Samba进程是否存在(图12)。

CentOS7.2下源码搭建Samba文件服务器[原创]

图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

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款