Samba服务应用
一、samba的简介
Samba是SMB的一种实现方法,主要用来实现Linux系统的文件和打印服务。Linux用户通过配置使用Samba服务器可以实现与Windows用户的资源共享。守护进程smbd和nmbd是Samba的核心,在全部时间内运行。nmbd程序使得通过企图计算机可以浏览Linux服务器。
可参考 51CTO.COM专题:Samba服务器安装配置全攻略 http://www.51cto.com/html/2005/1202/12843.htm
二、samba的安装
#rpm -ivh perl-Convert-ASN1-0.20-1.1.noarch.rpm
#rpm -ivh libsmbclient-devel-3.0.33-3.28.el5.i386.rpm
#rpm -ivh samba-common-3.0.4-0.5.1.i386.rpm
#rpm -ivh samba-3.0.33-3.28.el5.i386.rpm
安装好后,配置文件路径是:/etc/samba/smb.conf
三、samba的进程介绍
Samba有两个守护进程:smbd和nmbd
-----smbd监听139 TCP端口
-----nmbd监听137和138 UDP端口
samdb进程的多用是SMB请求包,负责用户的验证和文件的共享;nmdb进程的作用是处理浏览共享和计算机名称解析。
四、Samba的配置
Samba配置文件存放在:
/etc/samba/smb.conf
其中包括四个设置段:
[global] 设置全局环境选项
[homes] 设置用户宿主目录共享
[printers] 设置打印机共享
[sharefiles] 设置文件共享
注:行前有分号“;”或者英镑符“#”表示注释
[global] 段主要选项设置:
workgroup = 指定工作组或域
server string = 描述
security = 指定安全模式
hosts allow = 限定主机访问
log file = 指定日志文件存放位置
max log size = 指定日志文件大小
[homes] 段主要选项设置:
comment = home directories
browseable = no
writable = yes
五、应用示例一
允许用户通过windows客户端访问自己的宿主目录。
1、安装Samba,不需要对配置文件做修改,就可以实现此功能
如果安装启动了SELinux,需要先执行:
setsebool -P samba_enable_home_dirs on
2、设置用户的Samba验证密码 (此用户也必须为系统用户)
smbpasswd -a 用户名
3、启动Samba服务
/etc/rc.d/init.d/smb start
4、windows客户端访问Samba服务器的共享文件资源:
“开始”--“运行”,输入:\\Samba的服务器地址 如:\\192.168.1.22
5、Samba服务器端查看访问的客户端信息:
#smbstatus
六、应用示例二
设置Samba共享目录/software,允许用户jack和mary访问,并具有读写权限
1、创建目录/software,系统添加用户jack和mary
2、如果安装了SELinux,执行命令启动用户访问系统目录:
chcon -t samba_share_t 共享目录
3、在Samba配置文件/etc/samba/smb.conf尾部添加:
[software] #为共享目录的名称
path = /software #共享目录的路径
valid users = jack mary #设置可以访问的用户名
writable = yes #设置是否具有写权限
4、设置用户jack和mary的Samba的验证密码,启动Smaba服务
小技巧:net use * /delete /y 删除一个用户登录Samba保留的信息
jack和mary对文件具有写权限是 系统用户对文件具有的权限和Samba用户对文件具有写权限的交集
权限设置代码:
#groupadd softadmin
#usermod -G softadmin jack
#usermod -G softadmin mary
#chgrp softadmin /software
#chmod g+w /software
查看/software 文件目录所属的用户组
#ls -ld /software
查看softadmin用户组里面的有哪些用户
#grep softadmin /etc/group
Samba服务检测命令,测试语法错误:#testparm
七、应用示例三
建立一个公共的只读目录 /public ,所有人都可以浏览目录内容
[public]
comment = Read Only Public
path = /public
writable = no
八、应用示例四
建立部门资料共享目录 /hr,部门的每个人都能读写,但不能删除别人的文件
[hr]
path = /hr
valid users = zhangsan lisi wangwu
writable = yes
#chmod -R 777 /hr