RHEL6.3 Samba服务器安装配置


1、安装Samba软件包
# yum -y install samba samba-client samba-common samba-winbind samba-winbind-clients
2、启动、查看Samba服务器状态
# service smb start
# service smb status 
3、设置Samba服务器为开机启动
# chkconfig smb on
# chkconfig --list smb
smb             0:off   1:off   2:on   3:on   4:on   5:on   6:off 

4、修改 Samba 服务器住配置文件 smb.conf 
4.1、备份源文件
# cp -p /etc/samba/smb.conf /etc/samba/smb.conf.orig 
4.2、在 [global] 部分修改字符集设置
[global]
       unix charset= UTF-8
       dos charset=GBK
       workgroup = SHAREGROUP
4.3、在文件结尾加上客户自定义共享模块
[share] 
comment = RHEL6-Windows Share
path=/home/share
writeable = yes  # 是否可写
browseable = yes # 是否可浏览
create mode = 0777 # 创建文件时的默认属性
directory mode = 0777 # 创建目录时的默认属性
valid users = share # 指定可访问用户

5、添加共享用户
# groupadd -g 1234 share-users
# adduser -d /home/share -m -u 1234 -g 1234 -c "Samba demo user accnt" share
# ls -ld /home/share
drwx------. 4 share share-users 4096 11月 28 16:56 /home/share

在进行到服务端的连接之前,需要预先对用于登录 Linux Samba的用户进行设置。这里我们以 rhel6.3 中 Samba 标准的 Linux Samba 用户数据库管理工具“smbpasswd”为例,创建用于登录Linux Samba的用户数据。这里需要注意的一点:用 smbpasswd 创建用户的前提是,系统用户中存在该用户 -- 在基于系统用户之上,才可以创建该用户在 Linux Samba 用户数据库中的信息。

6、映射刚添加的用户为同名的 samba 用户,并设置samba密码(这个密码不同于系统用户密码!!)
# smbpasswd -a share
New SMB password: 
Retype new SMB password:
Added user demo. 
#
修改Samba用户信息使用pdbedit命令:
        pdbedit -a username #新建Samba用户
        pdbedit -x username #删除Samba用户
        pdbedit -L      #列出Samba用户列表,读取passdb.tdb数据库文件
        pdbedit -Lv     #列出Samba用户列表的详细信息
        pdbedit -c "[D]" -u username    #暂停该Samba用户的账号
        pdbedit -c "[]" -u username #恢复该Samba用户的账号
        
        修改Samba用户share的密码:
smbpasswd share     #必须先添加Linux用户到Samba用户

7、检测配置参数
# testparm
8、配置 SELinux Security 参数
8.1、/etc/selinux/config
SELINUX=enforcing
8.2、设置文件夹及其内容的安全属性
# semanage fcontext -a -t samba_share_t "/home/share(/.*)?"
# restorecon -R -v /home/share

PS:如果 semanage 命令不存在,可以使用这个命令 # yum -y install policycoreutils-python 安装

8.3、在防火墙上开启 Samba 和 Samba-client 服务端口
9、重启 Samba 服务器
service smb restart

另一份资料

 

创建将要通过 Linux Samba共享给 Windows 网络的专用目录。

  1. [root@sample ~]# mkdir /share/samba  ← 建立共享文件专用目录
  2. [root@sample ~]# chown -R nobody. /share/samba  ← 设置专用目录归属为 nobody
  3. [root@sample ~]# chmod 777 /share/samba  ← 将专用目录属性设置为 777  

[注意:]
有时我们只能看到共享,但是访问的时候会出现拒绝访问的情况,这是为什么呢?因为selinux对samba共享做了限制,我们只用把selinux中对samba的限制给解决了就行了,我们做如下设置就OK了,这也是我做此教程的目的:

  1. #setsebool –P samba_enable_home_dir on
  2. #setsebool –P samba_export_all_ro on
  3. #setsebool –P samba_export_all_rw on

我们可以用命令getsebool –a | grep samba查看上面三项是否打开,打开的话你的共享应该就正常了。