Samba服务器的搭建

Samba服务器的搭建。

由于CentOS系统里面自带Samba服务器功能,就不阐述相关软件的安装了。

1 Samba服务器的搭建主要是修改/etc/samba/smb.conf这个文件,其内容如下:

################################################################################################

#============================ Global Settings ================================
[global]
workgroup = Zhenjunlou    #工作的计算机组名称,可随意填写。
server string = Samba Server Version %v    #对服务器的说明,随意填写。
netbios name = ZJLSERVER    #服务器的计算机名,可随意填写,访问服务器时候,可以用计算机名代替其ip地址。
interfaces = 122.205.95.76    #服务器的联网ip。
hosts allow = 127. 122.205.     #允许访问Samba服务器的ip地址范围。
log file = /var/log/samba/log.%m    #用户登陆的日志文件存放地。
max log size = 50    #用户登陆的日志文件最大值。
security = user    #安全的模式,需要使用用户名登陆。
encrypt passwords = yes    #需要输入密码来登陆。
passdb backend = smbpasswd    #用smbpaswd存放用户名和密码。
smb passwd file = /etc/samba/smbpasswd    #密码存放的文件为/etc/samba/smbpasswd。
load printers = no    #不能登陆打印机。
config file = /etc/samba/smb.conf.%U    #单独的用户配置文件,将此smb.conf文件复制一份,保存为smb.conf.userx,其中userx为一用户名,然后修改smb.conf.userx文件配置,从而使用户userx具有与众不同的配置。
config file = /etc/samba/smb.conf.%G    #单独的用户群组配置文件,将此smb.conf文件复制一份,保存为smb.conf.groupx,其中groupx为一群组名,然后修改smb.conf.userx文件配置,从而使群组userx具有与众不同的配置。

#============================ Share Definitions ==============================

[homes]    #【】中表示共享的文件名称,但当其下有%S变量时候,则【】中的值与%S相同。
comment = Home Directories    #对此共享文件的描述,可随意填写。
path = /home/samba/privacy/%S    #共享文件夹在服务器中的具体路径。
browseable = no    #其它人是否可见,no即为其它用户不可见。
writable = yes    #对共享文件夹的权限,可读可写。
valid users = %S    #有效的用户,%S表示任意登陆的一用户。
create mode = 0664    #用户写入的文件默认配置。
directory mode = 0775    #用户写入的文件夹默认配置。

[Blog]    #【】中表示共享的文件名称,但当其下有%S变量时候,则【】中的值与%S相同。
comment = A public platform for sharing your thoughts and skills    #对此共享文件的描述,可随意填写。  
path = /home/samba/Blog    #共享文件夹在服务器中的具体路径。
browseable = yes    #其它人是否可见,yes即为所有用户都可见。
writable = yes    #对共享文件夹的权限,可读可写。
valid users = @students,@teachers    #有效的用户,为students和teachers这两个群组。

[Archive]
comment = Archive
path = /home/samba/Archive
browseable = yes
write list = chenlianfu,bianyinbing
create mode = 0664
directory mode = 0775
valid users = @students,@teachers

[zhenjunlou_communication]
comment = For communicating among all aculty members
path = /home/samba/zhenjunlou_communication
browseable = yes
writable = yes
valid users = @students,@teachers

[Forstudents]
comment = Only students can access
path = /home/samba/Forstudents_Only
browseable = yes
writable = yes
valid users = @students

[Forteachers]
comment = Only teachers can access
path = /home/samba/Forteachers_Only
browseable = yes
writable = yes
valid users = @teachers

##############################################################################################

2 在防火墙里开放137,138,138和445四个端口,且这4个端口分别对应tcp和ucp端口一种。

#vim /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

3 运行Samba服务。

#nmbd -D   先运行
#smbd -D   后运行

重启Samba服务的话,按以下命令重启samba服务。

##/etc/init.d/smb stop
##/etc/init.d/nmb stop
##nmbd -D
##smbd -D

4 开机运行Samba服务。

#chkconfig smb on
#chkconfig nmb on

或

#setup

5 linux使用Samba服务器。

#sudo smbclient -L //122.205.95.76    #查看服务器共享的文件夹。

#sudo smbclient -U username //122.205.95.76/Archive    #连接上服务器共
享的文件夹Archive,和连接到ftp基本一致。

#sudo mount -t cifs //122.205.95.76/Archive /mnt -o username=chenlianfu,password=***    
其中-t cifs可以不用写,在hrel6中是默认的,passwd=***也可不用写。挂载共享的文件夹。

永久挂载:

# vim /etc/fstab      #加入一行
//122.205.95.76/Archive	/mnt	cifs	credentials=/root/credentials
# vim /root/credentials  
该文件第一排写"user=chenlianfu",第二排写"pass=***"。这样有凭证文件,相对安全。

或

# vim /etc/fstab     #加入一行
#//122.205.95.76/Archive /mnt cifs username=chenlianfu,passwd=***,uid=500 0 0
这样不用凭证文件,直接写上用户名和密码。

使用smbclient使用的协议为smb协议,端口为139;而使用mount后的协议为cifs协议,端口为445,相对速度快。一般使用445协议。

6 windows访问Samba服务器,打开我的电脑——在地址栏输入“\\122.205.95.76”——回车,输入用户名和密码登陆即可。