认识Samba
Samba的核心是两个守护进程,即smbd和nmbd。服务器启动到停止期间持续运行,smba监听139TCP端口;nmbd监听137和138UDP端口。smbd和nmbd使用的全部配置信息保存在smb.conf文件中,smb.conf向smbd和nmbd两个守护进程说明输出什么,共享输出给谁及如何输出以便共享。smbd进程的作用是处理到来的SMB数据包,为使用该数据包的资源与linux协商;nmbd进程使其他主机(或工作站)能浏览Linux服务器。
一、安装配置Samba的RPM包(包名)
samba-common:包括Samba服务器和客户端均需要的文件
samba:服务器端软件
samba-client:客户端软件
system-config-samba:GUI配置工具
二、Samba配置文件
主配置文件: /etc/samba/smb.conf
1.主配置文件由两部分构成
Global Settings (22-162行)
该设置都是与Samba服务整体运行环境有关的选项,它的设置项目是针对所有 共享资源的。
Share Definitions (163-尾行)
该设置针对的是共享目录个别的设置,只对当前的共享资源起作用。
2.主配置文件一些常用全局参数
设置Samba服务器所属的群组名称或Windows的域名。
workgroup = MYGROUP
设置Samba服务器的简要说明。
server string = Samba Server
设置可访问Samba服务器的主机、子网或域。
hosts allow = 192.168.1. 192.168.2. 127.
指定Samba服务器使用的安全等级:share,user,server,Domain
security = user
(share:共享级别,用户不需要账号和密码即可访问
user:用户级别,由提供服务的Samba服务器负责检查账户和密码
server:服务器级别,检查账户和密码的工作由另一台Windows2003和Samba服务器负责
Domain:域级别,由Windows域控制器负责检查账户和密码。Samba服务器不维持和密码服务器的专用连接,只在需要时才连接到远程的验证服务器,平时断开连接。)
3.测试Samba配置文件
#testparm
Samba密码文件:/etc/samba/smbpasswd
1.批量添加Samba账户(访问Samba服务器,用户是系统账户,但是密码验证却不是通过/etc/shadow文件验证,而是用Samba密码文件验证,因此要添加Samba账户,并设定密码)
#cat /etc/passwd | /usr/bin/mksmbpasswd.sh > /etc/samba/smbpasswd
#chown root.root /etc/samba
去掉一些无shell 的账号
#smbpasswd user1 再为用户设密码
2.添加单个Samba账号
#useradd user2
#passwd user2 本地密码
#smbpasswd -a user2 添加Samba账户,并设密码
三、SMB服务器以共享方式共享目录
1、新建一个共享目录/aaa,并设定权限。
2、编辑/etc/samba/smb.conf主配置文件。
3、在34行设置SMB服务器共享访问方式。
4、在主配置文件增加下面几行。
[shareaaa] //用户看到的共享名称
Comment = “This is test share dir” //描述信息,可任意指定
path = /aaa //指定实际共享目录
public = yes //所有人可查看,等效于guest ok = yes
read only = yes //只读
writable = yes //可写,与read only矛盾时,以后者为准
5、重启SMB服务。
四、SMB服务器以用户方式共享目录
1、编辑/etc/samba/smb.conf主配置文件。
2、在34行设置SMB服务器用户访问方式。
3、在主配置文件增加下面几行。
4、新增smb的用户和密码。
5、重启SMB服务。
五、查看windows和Linux的共享目录
#smbclient -L windows的IP -U administrator
#smbclient -L 192.168.1.100 -U smbuser (smbuser是SMB用户)
挂载用smbmount命令。