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”——回车,输入用户名和密码登陆即可。