Samba(服务消息块)
SMB协议
Server Message Block,服务消息块
CIFS协议
Common Internet File System,通用互联网文件系统
Samba项目
http://www.samba.org
作用:
分享档案与打印机服务;
可以提供用户登入 SAMBA 主机时的身份认证
可以进行 Windows 网络上的主机名解析 (NetBIOS name)
Samba服务器的主要程序
smbd:提供对服务器中文件、打印资源的共享访问 139 445
nmbd:提供基于NetBIOS主机名称的解析 137 138
Samba的服务脚本
/etc/init.d/smb
Samba的配置目录及文件
/etc/samba/
/etc/samba/smb.conf
配置文件检查工具:testparm
常用配置项:
workgroup= 工作组
security = 认证方式
share 匿名
user 本地SAMBA用户
server 由其他服务器提供认证
domain 由域控制器提供认证(PDC)
comment = 描述信息
path = 共享的路径
guest ok = 允许所有人访问,等同于public
public = yes 作用等同于guest
read only = 所有人只读
writable = 所有人可写
write list = 拥有写权限的用户列表
browseable = 是否 浏览 可见
username map = /etc/samba/smbusers
valid users = 允许访问该共享资源的用户(用户,用户,@用户组)
invalid users = 禁止访问该共享资源的用户
hosts allow = 允许访问的IP网段
hosts allow = 192.168.115.0 EXCEPT 192.168.115.114
允许192.168.115.0网段的所有主机访问,但是除了114
Samba添加用户命令:
smbpasswd:
-a:添加一个smb账户
-d:禁用某个Samba账户而不是删除
-x:从sabpasswd文件中删除账号
-e:恢复某个Samba账户
-n:将账户的口令设置为空
举例:
Groupadd sdcet
Useradd -G sdcet lcg
Pdbedit -a -u lcg / smbpasswd -a lcg
pdbedit:
-L:查看账号信息
-a | -x -u 账号 :添加/删除账号
smbclient :
-L:列出远程服务器上共享的所有资源
-N:禁止smbclient提示输入用户名和密码
-I:指定要访问的计算机IP地址
-U:指定要访问远程服务器时使用的用户名
实验环境:两台虚拟机(同网段)一台作为服务器,一台客户端,服务器端(搭建Samba服务器)、客户端安装samba客户端工具(smbclient)
无验证共享实验:
服务器端:
安装软件:
修改配置文件:
客户端验证:
查看分享:
smbclient -L //192.168.115.178
匿名登录:
smbclient //192.168.115.178/share
测试上传、下载
用户验证登录实验:
服务器端修改配合文件:
创建Samba用户:
客户端验证:
smbclient //192.168.115.178/auth -U cwy
注意:
当配置文件将全局配置global中修改security = user时
此时,在局部目录分享配置文件中添加:
public = yes 时 匿名用户也可登录
public = no时 需要使用Samba特定用户登录使用
当配置文件将全局配置global中修改security = share时
此时,在局部目录分享配置文件中添加:
public = yes时 匿名可以访问
public = no时 目录无消(访问失效)
访问(权限)限制实验:
修改配置文件:
客户端验证:
由于客户机的IP地址为192.168.115.179,这时修改配置文件:允许192.168.115.0网段的客户机访问,但是不允许179这台客户机访问:
客户端验证:
此时179客户机则无法登陆:
但是同网段的其他电脑则能正常访问:
将Samba服务器共享目录挂载到客户端本地使用:
需要安装支持的文件系统类型(cifs-utils)
永久挂载开启:
修改/etc/fstab文件:
别名测试:
配置文件修改:
图形化权限设置管理:
安装软件包:
修改/etc/xinetd.d/swat
启动服务:service xinetd start