1,功能:解决跨平台的共享,
2,主要软件包:samba-client
samba
samba-common
3,主要程序
-smbd:提供对文件/打印资源的共享访问,监听tcp端口139,445
-nmbd:提供基于NetBIOS协议的主机名解析,监听UDP端口137.138
4,系统服务脚本
-/etc/init.d/smb
5,配置目录即主要配置文件
-/etc/samba/
-/etc/samba/smb.conf
6,配置文件检查工具
testparm
7,smb.conf 配置文件解析
-[global]:全局配置
-[homes]:用户目录共享设置
-[printers]:打印机共享设置
-[myshare]:用户自定义的共享目录设置
注释行:以#开始的行
配置样例行:以;开始的行
基础知识已经介绍的差不多了,下面我们就来看看操作问题:
1.查看系统是否安装samba所需软件
rpm -qa |grep samba*
2,没有安装的自行安装,下面我们把samba的主配置文件贴出来进行介绍
samba安全级别
share 匿名共享,不需要用户名密码
user 需要用户名密码,默认由samba服务器检查
server 由指定的服务器认证
domain 由域控制器验证
常见共享目录配置项
path= 共享的绝对路径
writable=yes/no 是否可写
browseable=no 是否可见,no为隐藏共享
read only=yes 是否为只读
public=yes 是否允许guest访问, 与guest ok=yes完全相同
comment= 描述,说明共享信息
read list=user,user1,@group..只读用户访问列表,用户间用,好隔开,组的话前面加@
write list= ....同read list,读写用户访问列表
valid users=user,@group》...允许使用服务的用户列表
directory mask=0755 创建目录的默认权限
create mask=0644 创建文件的默认权限
deadtime = 10 10分钟不对服务器操作就中断连接
client code page = 936 客户端支持中文
客户端访问
windows
\\服务器地址\共享名
Linux
#smbclient -L 服务器ip地址 显示指定samba服务器共享列表
#smbclient //ip/tools 进入共享Linux目录
进入之后可以使用get/mget ,put/mput进行下载上传
#mount -t cifs -o username=administrator //ip/public/mnt/smbfs
#smbstatus 显示当前服务器的连接状况信息(server上面)
#umount //ip/tools /mnt/smbfs也可以挂载之后来进行使用
上面可以自己自行测试下。下面来介绍samba的访问控制。
二、Samba共享的访问控制
1,samba帐号:
samba账号必须系统真实存在/etc/passwd下存在
samba账号密码独立的,和系统密码没关系
#pdbedit -a smb01 添加samba账号账号添加密码
-L smb01 查看共享账户信息
-x smb01 删除帐号
#smbpasswd smb01 重设密码
smbclient -U username //ip/共享目录(对需要认证的共享文件进行访问)
mount -o username=... //ip/共享目录 挂载点(对需要认证的共享文件进行挂载访问)
共享目录的认证配置
valid users = 共享账号列表,多个用逗号隔开,如果是组要在组前+@,(只读权限)
write list = 共享账号列表,同上(具有写权限)
上传文档的默认权限:
directory mask = 0755(目录的默认权限)
create mask = 0644(文档的默认权限)
2,别名映射(给samba用户一个别名,即是加的名字)
在配置文件中加入[global]中username map = /etc/samba/smbusers
/etc/samba/smbusers格式
(真实名字)共享账户 = 别名1 别名2 ..(修改之后可以不用重启smb服务,不行的话可以重启下)
3,访问地址限制
写在global中全局限制,写在局部配置文件中,对局部生效
hosts allow = 客户端地址
hosts deny = 客户端地址
hosts allow和hosts deny 写一个即可
客户端地址格式
以空格分隔多个地址
主机名或IP地址
网络地址 192.168.10. 或者192.168.10.0/255.255.255.0,注意与NFS的区别
大功告成。