samba的功能很简单,就是为了使linux和windows之间能够实现共享。并且利用samba搭建文件服务器,不仅比windows功能强大,而且访问速度快、安全。samba服务器具有这么多优点,看来学习搭建samba是网管必须的任务了。使用SMB/CIFS协议。
samba的端口:
TCP 139
UDP 137 138
smbd 提供对文件/打印资源的共享访问 TCP 139 TCP 445
nmbd 提供netbios主机名称解析 UDP 137 UDP 138
相关的是配置文件:
/etc/samba/smb.conf #主配置文件
samba的工作原理:
samba利用smbd程序来监听139号端口实现主机之间文件及打印共享,利用nmbd监听137,138端口实现主机之间可以利用netbios名称相互访问。
samba的配置内容如下:
[root@localhost ~]# vim /etc/samba/smb.conf
[global]samba全局设置,对整个samba有效
[homes]设置了用户共享目录属性,不包括全局
[printers]打印机共享
[myshare]自定义共享目录设置
samba安全级别
security
share匿名共享
user 要用户名和密码,由samba服务器检查(默认)
server由指定服务器认证
domain域控制器来验证
常见共享目录配置项:
path=/共享路径
writable=yes 是否可写
browseable=no 是否可浏览(默认可以)
read only=yes 是否只读
public=yes 是否允许guest访问 = guest ok=yes
guest only=yes 是否只允许guest访问
comment=public 描述,说明
read list=tom,@gr 只读用户访问列表
write list=tom,@gr 读写用户访问列表
valid users=tom,@gr 允许使用服务的用户列表
directory mask=0755 创建目录的默认权限
create mask=0644 创建文件的默认权限
security = share
设置Samba共享安全级别:
share : 共享级别,服务器不对客户机进行身份验证。
user : 用户级别,服务器对客户机进行身份验证。
server : 服务器级别,Samba服务器必须通过另一台服务器对客户机进行身份验证。如果设置为此值,需另加一行:password Server = IP才行。
domain : 域级别,Samba服务器要通过windows server的域控制器对客户机进行身份验证,同样,如果设置为此值,需另加一行:password Server = IP才行。
passdb backend = tdbsam
指定Samba服务器对用户帐户和密码的管理方式。一般默认即可。
例子:
[global] #全局设置
workgroup=MYGROUP #工作组名称为MYGROUP
server string = Hello #欢迎字串
#interfaces = lo eth0 #指定监听的网卡接口
hosts allow = 127. 192.168.0. #设置哪些主机可以访问本机共享
[homes] #设置共享的名称
comment = Home Directories #共享的说明性文字
browseable = no #是否对所有人可见
writable = yes #是否可写
; valid users = %S
; valid users = MYDOMAIN\%S
[printers] #共享名称
comment = All Printers #说明字串
path = /var/spool/samba #共享路径(重要)
browseable = no #是否对所有人可见
guest ok = no #是否允许匿名访问
writable = no #是否可写
printable = yes #是否可打印
[public]
comment = public
path = /samba
public = yes #等同于guest ok选项
samba的启动和关闭,以及开机自动启用。
[root@localhost ~]# /etc/init.d/smb start
[root@localhost ~]# /etc/init.d/smb stop
[root@localhost ~]# chkconfig smb on
转载于:https://blog.51cto.com/1208073155/1426585