您的位置:首页 > 其它

第二讲samba服务器基本配置

2011-07-14 09:12 176 查看
第二讲samba服务器基本配置
samba是跨平台的文件共享
NFS是linux系统本身的共享
Samba服务器包括两个服务程序:
1)smbd
为客户机提供了服务器中共享资源(目录及文件)的访问
2)nmbd
提供了NetBIOS主机名称的解析,为window网络中域或工作组内的主机进行主机名称的解析。

RHEL4中缺省安装了samba相关的软件包:
samba-common软件包中提供了samba服务器和客户机中都必须使用的公共文件
samba软件包中包括了samba服务器程序的所有文件
//作服务器的话,这两个软件包必须安装
samba-client软件包中提供了samba客户机的所有文件
system-config- samba软件包中提供了samba图形界面管理程序

samba服务器的主配置文件是smb.conf,保存在目录/etc/samba/中
#号开头的代表是注释行,是对配置内容的说明文字
;分号开头的代表是样例,是对配置内容的举例
查看除开#号、分号开头的行的配置内容:
#grep –v “^#” /etc/samba/smb.conf | grep –v “^;”
//-v是排除的意思。先排除以#号开头的行,把这个结果交给后面的排除以分号开头的行

#cat /etc/samba/smb.conf
[global] //全局设置
workgroup = MYGROUP //设置工作组名称
server string = Samba Server //设置samba服务器的说明文字,用于描述samba主机
log file = /var/log/samba/%m.log //设置日志文件。使用samba服务器的每个客户机的日志分别保存在与客户主机同名的%m.log文件中,%m变量表示客户端主机的名称
max log size = 50 //设置日志文件的最大容量,单位KB
security = user //安全级别,缺省安全级别是user,表示登陆samba服务器必须输入用户名和密码。安全级别的配置有以下几种:
share 表示用户不需要账户及密码即可登入samba服务器
user 是samba默认的安全等级。由samba服务器负责检查账户及密码
server 表示检查账户及密码的工作指定由另一台windows服务器或samba服务器负责
domain 表示指定windows域控制服务器来验证账户及密码

[homes] //用户目录共享设置。[homes]这个共享目录它不特指某个目录,而是表示所有samba用户的宿主目录
comment = Home Directories //共享的说明信息,Home Directories说明这是主目录
browseable = no //设置为no表示所有samba用户的宿主目录不能被看到,只有登陆用户才能看到自己的宿主目录共享
writable = yes //设置为yes表示用户对该共享目录有写入权限
samba账号管理
[align=left]samba用户必须是linux系统用户。[/align]
samba服务器的用户账号文件保存在/etc/samba目录中,文件名是smbpasswd
smbpasswd命令:
添加samba用户账号:
#smbpasswd –a 用户名
禁用samba用户账号:
#smbpasswd –d 用户名
启用samba用户账号:
#smbpasswd –e 用户名
删除samba用户账号:
#smbpasswd –x 用户名

公共共享目录配置实例:
nobody用户相当于windows系统中的guest用户
配置如下:
[public]
path = /home/public //public目录必须事先建立好
public = yes //设置为yes表示该共享目录对于所有samba用户可见
only guest = yes //设置为yes表示所有用户在使用该共享目录时的用户身份都是guest,即linux系统用户nobody
writable = yes

测试smb.conf文件内容:
testparm命令是配置文件测试工具,可以对smb.conf配置文件的语法进行检测,并显示当前配置清单。
#testparm

启动samba服务器
启动脚本文件/etc/init.d/smb
#service smb start //启动smb服务器
#service smb status //查询服务状态

smbclient
smbclient是samba服务器的命令行方式的登录客户端
#smbclient –L 192.168.1.2 //显示指定samba服务器(192.168.1.2)中的共享资源列表。
#smbclient //192.168.1.2/st02 –U st02 //以指定用户身份登录到指定服务器的指定共享目录。//192.168.1.2/st02 表示服务器192.168.1.2中的共享目录st02,-U st02表示以用户名st02的身份登陆。再如在linux中访问windows中的共享资源:
# smbclient //192.168.1.2/soft –U administrator
把windows中的共享资源挂载到linux的/mnt下:
# smbmount //192.168.1.2/soft /mnt –o username=administrator
//-o设置使用指定用户账号。

smbstatus
用于显示当前主机中的samba服务器的连接状态(包括每个samba客户端的IP地址,主机名称,登录用户名,锁定的文件等)

配置演示:
#useradd zhang3
#useradd li4
#useradd wang5
#passwd zhang3
#smbpasswd –a zhang3
#smbpasswd –a li4
#mkdir /pub
#vi /etc/samba/smb.conf
在[global]中修改工作组为:workgroup=WORKGROUP
在=======Share Definitions(共享的定义)=======中设置共享目录
去掉[tmp]及下面各项的前面的分号;
去掉[public]及下面各项的前面的分号;修改后结果如下图:
#testparm
#service smb start
在windows网上邻居上,查看工作组看能不能看到samba服务器
或输入samba服务器的IP地址 \\192.168.5.102看能不能访问
可以实验写入文件,但发现pub目录不能写入,而配置中明明配置了让zhang3这个用户组的成员具有写的权限的,原因是什么呢?还要看系统有没有给写的权限。
我们查看/pub目录的权限:
#ll /pub –d
//可以看到,只有root用户才有写的权限,所以要更改权限:
#chmod 777 /pub
现在就可以向/pub目录写入东西了。

再用li4登陆试验

再用linux客户端来访问samba服务器
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: