Samba文件共享服务
一 Samba服务介绍
Samba它是著名的开源软件之一linux微软的实现SMB/CIFS网络协议,跨平台实现文件互访问题
1 Samba软件包构成
samba-3.0.33-3.28.el5 ///服务端软件(默认安装)
samba-common-3.0.33-3.28.el5 ///公共组件(默认安装)
samba-client-3.0.33-3.28.el5 ///客户端软件(默认安装)
samba-swat-3.0.33-3.28.el5.i386.rpm //web图形管理软件
2 Samba服务器的主要程序
smbd:共享访问服务器中的文件和打印资源
nmbd:提供基于NetBIOS分析主机名称
3 Samba的服务脚本
/etc/init.d/smb
4 Samba配置目录及文件
/etc/samba/
/etc/samba/smb.conf
配置文件检查工具:testparm
二 主配置文件smb.conf
1 默认共享配置文件
:vim /etc/samba/smb.conf
[global]///全局设置
workgroup = MYGROUP //工作组名称
server string = Samba Server Version %v //服务器描述信息
security = user //安全级,可用值如下: share、user、server、domain
passdb backend = tdbsam ////设置共享账户文件的类型
load printers = yes
cups options = raw
[homes]//
comment = Home Directories ///注释共享目录,解释信息
browseable = no //分享目录在网上邻居中是否可见?
writable = yes //是否可以写,与read only的作用相反
[printers]//打印机共享设置
comment = All Printers
path = /var/spool/samba ///中共享目录对应的实际路径
browseable = no
guest ok = no 是否允许所有人访问,等效于“public
writable = no
printable = yes
2 自定义共享目录
:vim /etc/samba/smb.conf
[global]///全局设置
workgroup = MYGROUP //工作组名称
server string = Samba Server Version %v //服务器描述信息
security = user //安全级,可用值如下: share、user、server、domain
passdb backend = tdbsam ////设置共享账户文件的类型
load printers = yes
cups options = raw
[homes]//
comment = Home Directories ///注释共享目录,解释信息
browseable = no //分享目录在网上邻居中是否可见?
writable = yes //是否可以写,与read only的作用相反
[newname]
comment = RHEL 5.5 DVD directory.
path = /media/cdrom
public = yes //用户是否验证
read only = yes
三 构建文件共享服务器
1 安装samba软件
:yum install samba //安装
:rpm -qa samb* //查看
2 可匿名访问的共享
1)创建共享目录
:mkdir t227
2)修改smb.conf配置文件
:vim /etc/samba/smb.conf
[global]
security = share //允许匿名
[t227]
comment=dddddddddd
path=/t227
public=yes ///不需要用户验证,每个人都可以访问
readonly=yes ///只能读,不能写
3)匿名共享可上传
A) 将共享文件夹写入权限
:chmod o rwx t227
B) 修改配置文件
:vim /etc/samba/smb.conf
[global]
security = share
[t227]
comment=dddddddddd
path=/t227
public=yes ///不需要用户验证
readonly=no //只禁止阅读
3 共享需要用户验证
Samba使用独立的共享账户数据库文件,帐户名必须与同名系统用户名对应,以控制读写权限,共享账户的密码可以与系统用户的密码不同
1)创建共享账户
:useradd ////创建相应的系统帐户
:pdbedit -a u1 ////创建同名共享账户
:pdbedit -L ///查看共享账户列表
:pdbedit -x u1 //删除共享账户
2)设置用户访问授权
A)新建共享目录//注意不要创建目录root下了
:mkdir t227
B)修改配置文件
:vim /etc/samba/smb.conf
[global]
security = user
[t227]
comment=alll
path=/t227
public=no
readonly=no //可写入
valid users=lisi,zhangsan //指定用户访问
write list =lisi //可上传用户
注:有时在windows登录时验证时间较长,即使输入正确的密码也会提示错误,耐心等待一会儿
C)确定用户访问权限
:chmod o rw t227 ///设置目录并写入权限
D)默认权限设置上传文件和目录
:vi /etc/samba/smb.conf
[tools]
……
directory mask = 0755
create mask = 0644
4 重启服务
:service smb reload
四 限制用户映射和访问地址
1 共享账号映射(别名)
:vim /etc/samba/smbusers
root = administrator admin //可以设置多个别名
nobody = guest pcguest smbguest
lisi = nimei qianqian
:vim 电脑 /etc/samba/smb.conf ///添加全局配置,使用别名
username map=/etc/samba/smbusers
:service smb restart //重启服务
2 限制访问地址
一般用于全局配置[global]部分,也可用于特定的共享配置
hosts allow配置:只允许特定的客户机
hosts deny配置:只拒绝特定的客户机
客户机地址表示:
多个地址用空格分隔
主机名或IP地址,例如: 192.168.168.11 或者 prtsvr
网络地址,例如:173.17. 或者 173.17.0.0/255.255.0.0
: vi /etc/samba/smb.conf
hosts allow = 192.168.4. 173.17.
五 访问共享文件夹
1 在linux访问客户机
1)查询目标主机上的共享资源列表
:smbclient -L 192.168.4.11 ///不需要输入密码,直接回车
登录并访问共享文件:smbclient -U lisi //192.168.4.11/t227
Password:
Domain=[LOCALHOST]OS=[Unix]Server=[Samba 3.0.33-3.28.el5]
smb: \\> pwd ///查看当前路径
smb: \\> ls //显示目录列表
smb: \\> lcd /root ///切换到本地下载目录
smb: \\> cd t227 ///切换到共享目录
smb: \\> mget share* //下载share开头的文件到/root下
smb: \\> quit //退出
使用mount共享文件夹挂载挂载后可直接查看共享文件内容
:mkdir /media/smbdir //创建挂载目录
:mount -o username=lisi //192.168.4.11/tools /media/smbdir/ //挂载
:mount | tail -1 ///检查挂载状态
//192.168.4.11/tools on /media/smbdir type cifs (rw,mand)
2 windows客户机访问
方法:在操作中输入\\\\192.168.1.1即可访问
注:当需要切换用户时,注:CMD里输入net use * /del
清除共享用户缓存,如果不能清除,可以执行几次命令
六 swat 图像管理工具
1 swat介绍
SWAT是Samba图形管理工具。我们可以使用浏览器swat工具来设置samba
SWAT工具嵌套在xinetd在超级守护过程中,需要启用xinetd进程来启用swat。我们可以使用浏览器swat工具来设置samba
SWAT工具嵌套在xinetd在超级守护过程中,需要启用xinetd进程来启用swat。所以要先安装xinetd工具 包,
电脑