认识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> |