CentOS 6.6上安装Samba服务器

Samba,是用UNIX系列的作系微Windows作系的SMB/CIFS(Server Message Block/Common Internet File System)路定做的自由。第三版不可存取及分享SMB的料及印表,本身可以整合入Windows Server的域,扮演域控制站(Domain Controller)以及加入Active Directory成。而言之,此在WindowsUNIX系列OS之搭起一座,者的源可互通有。

Samba是多服以及的,其包括TCP/IP上的NetBIOS(NBT)、SMB、CIFS(SMB的增版本)、DCE/RPC或者更具MSRPC(居套件)、一WINS服器(也被作NetBIOS Name Server(NBNS))、NT域套件(包括NT Domain Logons、Secure Accounts Manager(SAM)、Local Security Authority(LSA)服、NT-style打印服(SPOOLSS)、NTLM以及近出的包括一改的Kerberos改的型目(LDAP)在的Active Directory Logon服)。以上些服以及常被地NetBIOS或者SMB。Samba也能用於共享打印。

这里稍微解释一下CIFS,它工作在137/UDP,138/UDP,139/TCP,445/TCP,大家可能觉得它怎么工作在这么多端口上,这其实和它使用NBT(NetBIOS over TCP/IP)和TCP协议工作有关。

NBT使用137, 138 (UDP) and 139 (TCP)来实现基于TCP/IP的NETBIOS网际互联。在Windows NT中SMB基于NBT实现。而在Windows2000中,SMB除了基于NBT的实现,还有直接通过445端口实现。当Win2000(允许NBT)作为client来连接SMB服务器时,它会同时尝试连接139和445端口,如果445端口有响应,那么就发送RST包给139端口断开连接,以455端口通讯来继续.当445端口无响应时,才使用139端口。当Win2000(禁止NBT)作为client来连接SMB服务器时,那么它只会尝试连接445端口,如果无响应,那么连接失败。(注意可能对方是NT4.0服务器。)如果win2000服务器允许NBT, 那么UDP端口137, 138, TCP 端口 139, 445将开放。如果 NBT 被禁止, 那么只有445端口开放。

当然大家了解一下就好了,其实就是Windows的网上邻居罢了。

在CentOS6.6上默认安装了smbclient,它有两种使用方式:

[root@localhost ~]# smbclient -L 192.168.1.103 -U test#test是Windows上的一个用户

[root@localhost ~]# smbclient //192.168.1.103/test -U test

挂载为文件系统的访问方法:

[root@localhost ~]# mount -t cifs //192.168.1.103/test /mnt -o username=test[,password=]

Samba的服务端直接使用yum安装就好了:

[root@linuxidc ~]# yum install samba

/etc/logrotate.d/samba

/etc/openldap/schema

/etc/openldap/schema/samba.schema

/etc/pam.d/samba

/etc/rc.d/init.d/nmb#服务脚本

/etc/rc.d/init.d/smb#服务脚本

/etc/samba/smb.conf#主配置文件

/etc/samba/smbusers

/usr/bin/eventlogadm

/usr/bin/mksmbpasswd.sh

/usr/bin/smbstatus

/usr/sbin/nmbd

/usr/sbin/smbd

Samba用户

账号:都是系统用户,/etc/passwd

密码:Samba服务自己的密码文件

将系统用户转换为Samba的命令smbpasswd

[root@linuxidc ~]# vim /etc/samba/smb.conf

4        workgroup = WORKGROUP#因为Windows中的是workgroup所以这里需要改

[root@linuxidc ~]# useradd smbuser1

[root@linuxidc ~]# smbpasswd -a smbuser1

-d:禁用账号

-e:启用账号

-x: 删除账号

其共享目录默认为用户的家目录


设置好之后再Windows的网上邻居中就可以看到了:

 

 

其共享目录为用户的家目录。

配置文件:smb.conf

全局设定

特定共享目录设定

私有家目录

打印机共享

自定义共享

255 [samba]

256        comment = My Samba Testing.#注释信息

257        path = /shared/samba#共享目录

258        browseable = yes#是否允许非属主用户浏览

259        guest ok = yes#是否运行来宾账户访问

260        writable = no#是否可写

public = yes

readonly = yes

write list = +staff #staff组内的用户都可写

[root@linuxidc ~]# testparm #测试配置文件是否正确,并显示最终生效内容

[root@linuxidc ~]# setfacl -m u:smbuser1:rwx /shared/samba/ #对目录的权限取决于Samba权限和文件系统权限的交集

此时smbuser1对samba目录是不可写的:

CentOS 6.6上安装Samba服务器 

我们讲write list = +smbuser1加入配置文件中的[samba]配置段就可以创建文档了:

CentOS 6.6上安装Samba服务器

OK,Samba就是这么简单,接下来我们来说一下Samba的网页版GUI界面,它是一个叫做samba-swat的包,在CentOS的扩展光盘上。

[root@samba ~]# yum install -y samba-swat

[root@samba ~]# rpm -ql samba-swat

/etc/xinetd.d/swat #它是放在xinetd进程里的

[root@samba ~]# vim /etc/xinetd.d/swat

1 # default: off

2 # description: SWAT is the Samba Web Admin Tool. Use swat \

3 #              to configure your Samba server. To use SWAT, \

4 #              connect to port 901 with your favorite web browser.

5 service swat

6 {

7        port            = 901

8        socket_type    = stream

9        wait            = no

10        only_from      = 192.168.1.0/24

11        user            = root

12        server          = /usr/sbin/swat

13        log_on_failure  += USERID

14        disable        = no

15 }

[root@samba ~]# service xinetd restart

[root@samba ~]# ss -tnl | grep :901

LISTEN    0      64                      :::901                    :::*


这样就可以使用浏览器访问了

CentOS 6.6上安装Samba服务器

这里有好多使用文档,非常详细大家有兴趣可以自己看一下。

CentOS 6.6上安装Samba服务器

在SHARES中有我们共享的信息,这里的Advanced模式中有众多的选项可以自行选择,而且这里如果一点击Commit Changes将会覆盖掉/etc/samba/smb.conf中所以的内容。

CentOS 6.6上安装Samba服务器

STATUS中有我们Samba服务器的状态信息以及服务控制按钮。

好了到此我们的Samba就告一段落了,如有错误敬请指正。

------------------------------------分割线------------------------------------

------------------------------------分割线------------------------------------

Samba 的详细介绍:请点这里
Samba 的下载地址:请点这里

相关推荐