samba有五种安全级别,它们分别是:
share:不需要samba账户就可登陆samba服务器
user:需要添加samba账户才可以登陆samba服务器
server:由另外一台samba服务器来对用户进行身份验证。
domain:把samba服务器加入到NT域,由NT的域控制器来进行身份验证。
ADS:Active Directory
Service,活动目录服务,它是samba3.0中新增的身份验证方式。采用ADS验证方式,samba服务器集成到活动目录中。
以上是它的五个运行级别;share,user这二个级别适合用小型部门,如网吧、企业内部局域网等,也是samba常用的级别。
(一) samba组件安装:
(1)首先用“rpm –qa |grep
samba”命令检验系统samba服务是否安装。
#rpm
–qa |grep samba
samba-common-3.0.0.15.i386.rpm
samba-client-3.0.0-15.i386.rpm
samba-3.0.0-15.i386.rpm
(2)如果没有显示samba(版本)信息,则说明没有安装,利用“RedHat
Linux安装光盘”里自带的RPM包进行安装(也可自己在网上下载相关的版本包进行安装)。
# rpm -ivh
samba-common-3.0.0.15.i386.rpm
# rpm -ivh
samba-client-3.0.0-15.i386.rpm
# rpm -ivh
samba-3.0.0-15.i386.rpm
此外还有一个工具就是图形界面的Swat。
要是用这个工具﹐大家还要修改一处﹐就是﹕
vi
/etc/xinetd.d/swat把其中的
disable =
yes
改为
disable =
no就可以了。
# rpm -ivh
samba-swat-3.0.0-15.i386.rpm
(二) share级别的samba的配置
这个级别的samba很简单,首先它不需要以用户和密码来验证登陆,所以就不必去配置samba用户了
下面是实例:
#service smb
start // 启动samba
#cp
/etc/samba/smb.conf /etc/samba/smb.conf.bak
// 备份samba的配置文件
#vi /etc/samba/smb.conf
// 找到 security = user 将它改成
security = share
#service smb
restart
// 重启samba服务器
打开“我的电脑”,输入 \192.168.1.88
sabma服务器的地址
此时samba服务器上任没有设置任何共享目录。
下面在服务器上设置一个名为test的共享目录
#mkdir
/test
#chmod 777 /test //让所有用户具有完全权限
#vi
/etc/samba/smb.conf
找到 security = user 将它改成 security =
share
把光标移动配置文件的最后一行,在下面加入以下配置
[test]
//共享名
comment = test resource
//共享目录的注释
path = /test
//共享目录的路径
writable = yes
//是否允许写入
public = yes
//是否允许guest访问
#service smb
restart
// 重启samba服务器
这时输入 \192.168.1.88
可以看到刚才增加的名为test的共享目录,此目录任何人有“完全权限”
如果需要共享其它目录,可照此设定。
(三) user级别的samba的配置.
Share级别的samba无需samba用户就可以访问服务器,而user级别的samba则需以samba用户和密码才能访问,所以我们先要设定一个samba用户,如下:
#useradd cc
//添加cc用户
#passwd cc //设置cc用户的口令
#smbpasswd –a
cc //将cc用户添加为samba用户
#mkdir /cc //建立/cc
目录,此目录就是要共享的目录
#chown cc.cc /cc
//让cc用户成为/cc目录的属主
#vi
/etc/samba/smb.conf
// 找到 security = share 将它改成
security = user
把光标移动配置文件的最后一行,在下面加入以下配置
[bb]
//共享名,特意取名为bb,以区别于cc的home共享
comment = cc resource
path =
/cc
writable = yes
valid users = cc
public =
no
#service smb
restart
// 重启samba服务器
这时输入 \192.168.1.88,会弹出用户验证对话框
提示输入samba用户和密码,输入用户名:cc
和密码,进入这时会看到多了“bb”、“cc”这二个共享,其中bb是刚才添加的samba共享,“cc”是cc用户的家目录共享。
[注]
在windows中添加cc用户,然后注销administrator,以cc用户的身份登录,访问samba服务器时,则不会出现用户登录对话框,不用输入用户名和密码而能直接浏览共享资源。下图是在windows中以用户cc登录后,输入 \192.168.1.88 直接进入的画面。在windows中以administrator身份登录后访问samba资源,之所以会出现登录对话框,是因为administrator没有对应的samba帐户。
如果不想使用“cc”用户的家目录共享,可以进行如下设置:
#vi
/etc/samba/smb.conf
找到如下语句:
[homes]
comment = Home
Directories
browseable =
no
writable = yes
在每行的前面加上注释符号“;”
;[homes]
;
comment = Home Directories
; browseable =
no
; writable = yes
#service smb
restart
// 重启samba服务器
这时输入 \192.168.1.88
此时只剩下我们人为添加的bb共享,而家目录共享cc已经不存在了
[注]
samba共享的访问权限受samba和linux操作系统的双重制约。即使在samba中已经开通了某个用户对于某个目录的访问权限,但如果samba用户所对应的linux用户没有该目录的访问权限,此时仍然不能访问该共享目录
分享目录参数
v [分享名称]:这个分享名称很重要,它是一个“代号”而已。例如,您在Windows中使用“共享”来分享网上邻居时,假设您将“D:\game”分享出来,系统还会要您输入一个“在网络上面的名称”,假设您输入My_Games,那么以后在网上邻居看到的文件夹(D:\game)名称其实是“\\您的IP\My_Games”。
comment:这个目录的说明。
path:在网上邻居中显示的名称中实际进入的Linux文件系统。也就是说,在网上邻居中看到的是“[共享]”的名称,而实际操作的文件系统则是在path中设置的。
read only:设置是否只读。
public:设置是否让所有可以登录的用户看到这个项目。
writable:设置是否可以写入,这里需要注意一下,read
only与writable是相似的设置值。如果writable在这里设置为NO,亦即不可写入,那与read
only将互相矛盾了,哪个才是正确的设置?答案是:最后出现的那个设置值为主要的设置。
write list:指定能读取和写该共享资源的用户和组
valid users:指定能够进入到此资源的特定用户。
linux基础命令学习(七)samba服务器配置