CentOS 6 安装 Samba

转自:http://scanlinux.blog.51cto.com/1354938/775246

下载samba最新版

http://www.samba.org/samba/download/

1、下载 samba 源码文件到目录 /data1 下并解压:

2、在 samba-3.6.1 下面有目录 source3 和source4 。这里进入目录 source3。

3、配置编译环境:

可以通过 #./configure --help 获得帮助。根据个人情况选择配置参数。

4、编译安装

#make

#make install                                                                                                                                                         

5、配置动态链接库

在 /etc/ld.so.conf.d/ 目录下创建 samba.conf 文件(文件只要以conf结尾即可),并输入所安装的 samba 库位置的绝对路径(/usr/local/samba/lib)即可;之后执行命令 #ldconfig 重新读取 /etc/ld.so.conf.d 目录下的配置文件。

注意:这一步必须要做,否则 smbd 不能启动。

ldconfig命令的用途,主要是在默认搜寻目录(/lib、/lib64和 /usr/lib)以及动态库配置目录 /etc/ld.so.conf内的文件,搜索出可共享的动态链接库(lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件。

6、创建 samba的配置文件 smb.conf

注意:smb.conf 文件默认位置有点别扭。

(1)我一般会建立 /usr/local/samba/etc/ 目录,把smb.conf放在这个目录下,然后在 /usr/local/samba/lib/ 目录下创建符号链接到etc/目录下的 smb.conf 文件。

(2)在配置编译环境时可以指定 samba 服务配置文件的位置;如:#./configure --prefix=/usr/local/samba --sysconfdir=/usr/local/samba/etc

为了先把 samba 服务运行起来进行验证,可以先简单修改一下 smb.conf 文件。找到security的地方,将默认security=user 改为 security=share。

7、启动smbd和nmbd服务

切换到 /usr/local/samba/sbin 目录执行命令 #./smbd -D 和 #./nmbd -D 启动服务,通过命令 #ps -ef | grep smbd 和 #ps -ef | grep nmbd 检查启动的服务。

8、设置 samba 服务开机启动

在 /etc/rc.d/rc.local 文件中加入以下 samba 服务启动命令,并让服务在后台启动。

/usr/local/samba/sbin/smbd -D &

/usr/local/samba/sbin/nmbd -D &

注:到这一步 samba 服务安装已经完成。乘下就是根据你的实际生产环境来修改 smb.conf 文件配置服务了。

三、SELinux和防火墙常规配置

在配置生产环境前,可以先把防火墙和 selinux 安全机制关闭。等到生产环境测试成功后再开启 selinux 和防火墙。不关闭也可以,只要记得配置就可以。这些根据你的个人习惯和实际情况。

=================================================================

我的习惯是:

(1)关闭防火墙和 selinux( 通过命令 #/etc/rc.d/init.d/ iptables stop 关闭防火墙,#setenforce 0临时关闭selinux)

(2)配置生产环境实现当初设计功能并测试成功

(3)开启 selinux 安全机制并配置服务的安全上下文,使相应服务的功能符合当初的生产环境设计。

(4)开启防火墙,开启相应服务的端口。

==================================================================

1、selinux 相关配置

setsebool -P samba_domain_controller on 是否启用域控

setsebool -P samba_enable_home_dirs on 如果不需要使用默认共享的用户家目录,可不执行。

setsebool -P samba_export_all_ro on 是否启用所有的共享目录为只读

setsebool -P samba_export_all_rw on 是否启用所有的共享目录可读可写

setsebool -P smbd_disable_trans on 如果需要共享光驱时启用

chcon -R -t samba_share_t /bin/mount如果需要共享光驱时启用

chcon -R -t samba_share_t /bin/umount如果需要共享光驱时启用

setsebool -P swat_disable_trans on 需要使用 swat 时启用

setsebool -P smbd_disable_trans on 如果使用 PAM 模块进行访问控制时启用

chcon -R -t samba_share_t [目录] 指定目录安全上下文的类型。

下图为 RHEL Workstation 6.0 X86_64 中 SELinux 的布尔值:

如果想知道当前系统中的那些 samba 相关的安全上下文。可以通过命令 #seinfo 获取相关信息。如果没有这条命令,需安装 setools-console.x86_64.rpm包(for RHEL)。如:获取安全上下文中与 samba 相关的类型:#seinfo -t | grep samba;获取用户:seinfo -u;获取角色:#seinfo -r;获取布尔值:seinfo -b同命令:getsebool -a 。

下图是获取安全上下文中与 samba 相关的类型:

2、防火墙相关配置

允许微软的NetBIOS协议(UDP 端口137 和138,TCP端口 139)还有不使用NetBIOS协议时通过TCP 445端口实现SMB文件共享。

编辑 iptables 文件 #vim /etc/sysconfig/iptables

加入下面四行内容:

下面是一段设置防火墙的脚本:

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值