samba文件共享服务
Samba服务协议
SMB协议:服务消息块协议 { 139 |445 }
CIFS协议: 通用互联网文件系统
Samba软件包主要构成
samba: samba服务端软件
samba-common: samba公用组件
samba-client: samba客户端软件
Samba服务器主要程序
smbd:提供对服务器中文件、打印资源的共享访问
nmbd:提供基于NetBIOS主机名称的解析
Samba服务脚本和配置文件:
/etc/init.d/smb
/etc/samba/smb.conf
testparm: 配置文件检查工具
smb.conf文件配置内容
[global] :全局配置
[homes] :用户家目录共享设置
[printers] :打印机共享设置
smb.conf文件用户可以配置,每个配置项都是中括号形式例:[share]
配置项含义:
workgroup:工作组名称
server string:服务器描述信息
security:安全级别 { share | user | server |domain }
log file:日志文件位置,“%m”变量表示客户机地址
max log size:日志文件的最大容量,单位为KB
passwd backend:设置共享账户文件的类型
comment:对共享目录的注释、说明信息
path:共享目录在服务器中对应的实际路径
browseable:该共享目录在“网上邻居”中是否可见
guest ok:是否允许所有人访问,等效于“public”
writable:是否可写,与read only的作用相反
valid users:访问授权用户,多个以 , 隔开
write list:可写授权列表,多个以,隔开
hosts allow :允许访问主机
hosts deny:拒绝访问主机
{限制的对象可以是主机名、IP地址、IP网段,多个地址以空格火逗号隔开,网段表示:192.168.1.0/24或192.168.1 (省去主机部分)}
username map:别名映射配置项,指向映射配置文件etc/samba/smbusers
directory mask :用户上传(创建)目录的默认权限
create mask :用户上传(创建)文件得默认权限
配置:
在配置etc/samba/smb.conf时,为了方便观看,一般把注释、空行、配置样例行(以;开头)去掉,可以用grep过滤和 > 重定向导入来去除。(建议事先备份一份),每配置一次都要重启一下服务service smb restart
匿名访问:
创建一个共享配置项,path指定其路径,路径目录要存在
安全级别设置为:security = share
允许所有人访问:guset ok = yes
重启服务:service smb restart
需验证的共享
创建系统用户
useradd tom
添加samba用户并设密码(系统存在的用户名)
pdbedit -a tom
(smbpasswd -a tom)
安全级别设置为:security = user
关闭(删除)所有人访问:gusetok = no
重启服务:service smb restart
别名映射配置文件
/etc/samba/smbusers
配置:用户名 = 别名(tom = zhangsan lisi)多个别名以空格相隔
编辑/etc/samba/smb.conf,在[global]中指定映射文件
usernamemap = /etc/samba/smbusers
用户授权(只在此项中用户可访问)
编辑/etc/samba/smb.conf,添加valid users 配置项
例:valid users =tom,root
写入授权(应删除writable配置项)
编辑/etc/samba/smb.conf,添加write list配置项
例: write list= tom,root
客户端授权
编辑/etc/samba/smb.conf,添加hosts { allow | deny} 配置项
例:hosts allow =192.168.1.9192.168.2192.168.3.0/24(允许此类地址访问)
hosts deny = 192.168.1.9192.168.2192.168.3.0/24(阻止此类地址访问)
注:hosts allow和hosts deny不应同时出现
使用smbclient访问
匿名
smbclient -L 192.168.1.1 查看有哪些共享
smbclient //192.168.1.1/t78 访问
非匿名
smbclient -L 192.168.1.1 -U tom 查看
smbclient -U tom //192.168.1.1/t78 访问
mount挂载
挂载前要确定系统中安装了cifs-util工具
mount -o username=tom,password=密码 //192.168.1.1/t78/t78
开机自动挂载
在/etc/fstab中添加
//192.168.1.1/t78/t78 cifs defaults,username=tom%密码 0 0
autofs自动挂载
需安装autofs自动挂载工具
在/etc/auto.master中添加
/mnt /etc/samba.misc
指定挂载主目录/mnt和挂载目录配置/etc/samba.misc
新建/etc/samba.misc并添加以下挂载配置项
samba -fstype=cifs,usename=tom,password=密码 ://192.168.1.1/t78