认识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命令。< body="">