一、安装前准备

1、使用Samba服务器需要防火墙开放以下端口或者直接关闭防火墙

UDP 137

UDP 138

TCP 139

TCP 445

vi /etc/sysconfig/iptables #配置防火墙端口

-A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT

/etc/rc.d/init.d/iptables restart #重启防火墙,使规则生效




2、关闭SELinux(PS:这步比较重要,如果没有关闭会导致无法读写)

vi /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq 保存,关闭。

shutdown -r now重启系统



二、安装Samba

1、检查Samba服务包是否已安装

rpm -qa | grep samba

samba-common-3.6.9-169.el6_5.x86_64

samba-client-3.6.9-169.el6_5.x86_64

samba4-libs-4.0.0-23.alpha11.el6.x86_64

samba-winbind-clients-3.6.9-169.el6_5.x86_64

samba-winbind-3.6.9-169.el6_5.x86_64

samba-3.6.9-169.el6_5.x86_6

说明samba已经安装,如果没有安装,运行下面命令安装

yum install samba



2、配置samba

chkconfig smb on  #设置 Samba开机自动启动

service smb start #启动Samba服务

chkconfig nmb on #设置Samba别名服务自动启动

service nmb start#启动Samba别名服务

/etc/init.d/smb restart #重启

/etc/init.d/smb stop #停止

/etc/init.d/nmb restart #重启

/etc/init.d/nmb stop #停止


备份:cp /etc/samba/smb.conf /etc/samba/smb.confbak

恢复:cp /etc/samba/smb.confbak /etc/samba/smb.conf

vi /etc/samba/smb.conf

[global]   #找到这一行(全局设置标签),在此行下面添加如下行:

workgroup = WORKGROUP #工作组名称改为 Windows 网络所定义的工作组名

server string = Samba Server #设置samba服务器的主机名称

security = user #设置samba服务器安全级别为user,即以账号和口令访问

netbios name = SambaServer #设置Samba服务器访问别名


#在配置文件的末尾添加以下自定义内容,定义公共目录

[public]                 #在Windows网上邻居中看到的共享目录的名字

comment = Public Stuff   #在Windows网上邻居中看到的共享目录的备注信息

path = /data/samba       #共享目录在系统中的位置

public = yes             #公开目录

writable = yes           #共享目录可以读写

保存配置


建立共享文件专用目录

mkdir -p /data/samba

chown -R nobody. /data/samba

chmo 777 /data/samba


3.将用户test添加入到Samba用户数据库,并设置登录共享目录的密码为:123456

例:创建一个test账号,且宿主目录为/data/test

useradd test -d /data/test

smbpasswd -a test

New SMB password:  输入该用户用于登录Samba的密码

Retype new SMB password:  再次确认输入该密码

Added user SambaServer.

#特别注意:这里设置的密码是用户登录Samba共享目录的密码,不是用户登录linux系统的密码


4.重启Samba服务器

/etc/init.d/smb restart


5.

在Windows客户端输入

\\ip

或者

\\SambaServer #服务器别名

回车之后,会跳出来登录框,输入账号test 密码123456

即可访问共享目录


三.配置samba回收站 

#所有通过网络登陆Samba服务器的用户在删除文件或目录后,被删除的文件或目录会自动转移到指定的回收站里


  1. 编辑/etc/samba/smb.conf文件,在[homes]和[public]共享目录下添加以下内容

[public]                 

comment = Public Stuff   

path = /data/samba      

public = yes            

writable = yes

vfs object = recycle

recycle:repository = /data/recycle/public/%U

recycle:keeptree = yes

recycle:versions = yes


[homes]

comment = Home Directories

browseable = yes

writable = yes

vfs object = recycle

recycle:repository = /data/recycle/%U

recycle:keeptree = yes

recycle:versions = yes