linux基础命令学习(七)samba服务器配置
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用户没有该目录的访问权限,此时仍然不能访问该共享目录 
分享目录参数