|
|
目录
1.Samba服务器的安装
2.Samba客户端的使用
3.Samba服务器配置
4.Linux中访问网上邻居
5.Smaba用户帐户
6.Smaba配置文件详解
7.访问控制
+++++++++++++++++++++++++++++++++++++++++++++++++++++
正文
+++++++++++++++++++++++++++++++++++++++++++++++++++++
1.Samba服务器的安装:
samba samba服务器软件包
smba-client samba客户端工具
smba-common 通用工具和库
安装samba依赖软件包
- rpm -ivh rpmdb-fedora*.rpm
复制代码 (rpmdb包含了所有软件包的依赖关系)
安装samba软件包
--aid参数自动解决依赖关系,必须安装 rpmdb包,并且与以来包在同一目录下
/etc/rc.d/init.d/smb 服务器启动脚本
/usr/sbin/nmbd 提供名称解析服务:也就是提供一个输出的数据,能够模仿微服务,提供用户验证,索引目录的查询
/usr/sbin/smbd 传送数据
/usr/share/doc/samba-x.x.x/docs/Samba-HOWTO-Colection.pdf
这是非常全面的HOWTO的一个集合
/usr/share/doc/samba-x.x.x/docs/Samba-Developers-Guide.pdf
Samba开发者的最丰富的资料
2.Samba客户端的使用
smbtree
作用:显示局域网种的所有主机的共享列表
用法:smbtree [-b](广播)[-D](域或工作组名)[-U username%password]
默认会使用当前用户搜索主机
- #smbtree
- Password:
- WORKGROUP
- \\WIN2000
复制代码
- #smbtree -b
- Password:
- WORKGROUP
- \\WIN2000
复制代码
- #smbtree -b -D
- Password:
- WORKGROUP
复制代码- #smbtree -b -D -U tpxcer%tpxcer
- WORKGROUP
复制代码- #smbtree -b -U tpxcer%tpxcer
- WORKGROUP
- ==WIN2000
复制代码
nmblookup
作用:显示一台主机的 netbios主机ip地址
- #nmblookup win2000
- querying win2000 on 10.0.0.255
- 10.0.0.241 win2000<00>
- 192.138.242.1 win2000<00>
- 192.168.44.1 win2000<00>
复制代码
- #nmblookup \* (由于*号默认表示当前目录的所有文件,所以需要转义)
- querying * on 10.0.0.255
- 10.0.0.241 *<00>
- 10.0.0.1 *<00>
- 192.168.242.1 *<00>
- 192.168.44.1 *<00>
- 192.168.0.254 *<00>
复制代码
smbclient
作用:显示/登录局域网中的共享目录
用法:smbclient -L host
smbclient //host/share
- #smbclient -L win2000 (如果想快一点我们最好用前面查到的IP地址)
- # smbclient -L 10.0.0.241
- Password:
- .....
- # smbclient -L 10.0.0.241 -U tpxcer
- Password:
复制代码
共享的内容
- # smbclient -L 10.0.0.241 -U tpxcer%tpxcer
- # smbclient //10.0.0.241/lab -U tpxcer%tpxcer
- smb:\>help
- smb:\>put 本机地址 远程地址 (若没有远程地址则与本机地址一样)
- smb:\>get 文件名
复制代码
smbmount
作用:挂载共享目录
用法 -o username=username%password
- #smbmount //10.0.0.241/lab /mnt(默认是使用匿名用户)
- #smbmount //10.0.0.241/lab /mnt -o username=tpxcer%tpxcer
复制代码
smbtar
作用
作用:远程备份网上邻居种的文件(需要稍作修改)
用法:smbtar -S SEVER -U USER -P PASSWORD -X sharename -t output
- #smbtar -s 10.0.0.241 -u tpxcer -p tpxcer -X tpxcer -t smbtar.tar
- 默认的smbtar是有问题的,他是一个脚本文件,我们需要手动修改,到最后把-N去掉
复制代码
3.Samba服务器配置
* 修改配置文件/etc/samba/smb.conf
workgroup=workgroup
security=share
[docs]
path=/usr/sharc/doc
comment=share documents
public=yes(允许匿名访问)
* 重新启动smb服务器
#service smb restart
#chkconfig smb on
* 测试
#smbclient -L localhost
4.Linux中访问网上邻居
*需要samba客户端软件的支持
*使用挂载的方法
- #mount -t smbfs //sever/sharename /localdir
- #smbmount //sever/sharename /localdir
复制代码
*使用smbclient
- #smbclient //sever/sharename -U name%passwd
复制代码
5.Samb用户账户
1共享目录设置有效用户
[redhat]
path=var/redhat
comment = redhat's files
valid users = <username> <@groupname>
2新建samba用户
- #useradd username
- #smbpasswd -a username
复制代码
3.用户帐号映射
[global]
username map = /etc/samba/
- #smbuseradd unixname:mapname
复制代码
E.G.
[redhat]
path = /var/redhat
comment = redhat's files
public = no
valid users = redhat
既然只允许redhat用户访问就加进samba的用户数据库里
注意samba用户必须首先是系统用户
- #useradd useradd
- #smbpasswd -a redhat
- New SMB pasword:
- Retype new SMB password:
复制代码
加好以后会在 /etc/samba/smbpasswd这个文件里
为了防止用户猜测您的服务器的系统帐号,我们使用用户帐号映射
[global]
username map = /etc/samba/smbusers
- #smbuseradd unixname(系统帐号):mapname(映射帐号)
- (以上命令有可能已经被取消)
- #vi /etc/samba/smbusers
复制代码
左边为系统用户 右边为映射用户
E.G
注意smb.conf配置文件中用户名一定要用系统用户帐号
HOME 目录
[global]
[homes]
comment = home Directories
valid users = %S(%S指的是属主)
browseable = no(默认不让浏览到的)
writable =yes(是否允许写)
注意如果要使用帐号访问一定要把security设置成user
Samba用户的权限
[redhat]
path = /var/redhat
comment = redhat's files
public = no
valid users = <username> <@groupname>多用户组用空格分开
write list = <username> <@groupname>允许谁写
create mask =0660
directory mask =0770
注意:客户端所有的请求访问身份在服务器端都会映射成登录帐号的身份.
测试工具
testparm
默认情况下可以检查你的配置文件有没有语法错误
E.G.测试某一个具体的客户机是否能够访问我们的服务器以及额范围.
指定配置文件 客户机名字 IP 地址
testparm /etc/samba/smb.conf win2000 10.0.0.1
6.Smaba配置文件详解
[global]
workgroup=workgroup 工作组的名称
netbios name = redhat netbios的主机名
server string = Samba server 主机的解释信息
security =share/user/server 主机额安全级别
user 需要认证 (user级别对 linux用户来说是不能保护目录列表的
smbclient -L 10.0.0.254)
share 不需要用户验证
server 客户端必须输入合法的用户才能访问该服务器,但客户端需要连接到其他的服务器上进行人证
;password server = <server>
log file =/var/log/samba/log.%m 日志文件的路径
encrypt passwords = yes 是否要使用加密密码
如果是明文密码windows那边需要改注册表
smb passwd file = /etc/samba/smbpasswd samba密码文件的地方
include =/etc/samba/smb.conf.%m 包含一个外部的配置文件(对不同客户机的额外配置)
interfaces= 192.168.0.0/24 开启那个端口网段
;name resolve order = wins lmhosts bcast 主机名解析的顺序
wins: wins主机
lmhosts: 本机的一个配置文件(/etc/samba/lmhosts)
保存客户机与主机的对应关系
bcast: 广播形式
;wins support = yes 是否支持wins服务器(本地做wins服务器)
;wins server = w.x.y.z (谁是我的wins server,本地是客户机,这两项只能开启一项
7.访问控制
一.全局访问控制
[global]
hosts deny = ALl
hosts allow =10.0.0.
二局部访问控制
[docs]
hosts deny = 10.0.0.
hosts allow =10.0.241
[redhat]
hosts allow = 10.0.0.
hosts deny = 10.0.0.241(失效)
[tpxc]
hosts allow = 10.0.0. EXCEPT 10.0.0.241
全部允许 除了 10.0.0.241
允许优先!
具体写法查看帮助 man 5 hosts_access
Linux群:24406485 |
|