SAMBA简单应用

首先: 做一个共享目录public ,使匿名用户可读,可写。
    第一步 编辑samba配置文件 /etc/samba/smb.conf

[global] 全局配置 
   
    workgroup = MYHOME     ---- 指定工作组 
   
    server string = File Server ---- 服务器的说明  
   
    security = share   ----安全级别: 共分四种


                    1.share (任何用户都不需要密码,直接可以访问)
                    2.user   要提供用户名和密码才能访问
                    3.server 将用户和密码提交到另一服务器验证,如果递交失败,就 退到user安全级。 要求网络上存在一台Windows的主域控制器,samba把用户名和密码递交给它去验证。
       

[public]               
   
    comment = Public Stuff         
   
    path = /home/public         
   
    public = yes                 
   
    browseable = yes         
   
    writeable = yes 
   


常用参数: 
   
    comment :         目录说明 
   
    path :             目录路径 
   
    public             开放共享 默认为no , 如果=yes 表示无需身份验证 
   
    browseable:       显示共享名称。 
   
    valid users:       允许列表中的用户访问 
   
    read only:         默认为yes,共享目录只读 。 
   
    write able:         write able =no 与read only = yes 一样的效果 
   
    wire list:           如果前面只读,只有在此里面的用户才有写的权利 
   
    creat mask:       指定在共享目录里面建立文件的权限, 权限最高只能为 766 
   
    directory mask:   指定建立目录的权限 
   
    force user:         指定存取的用户张号 
   
    force group:     指定用户存取组 
   

  然后 建立共享目录,并设定目录的权限 
   
    # mkdir /home/public 
   
    # chmod 777 /home/public



实例:公司有三个部门分别是: 业务 财务 经理
每个部门假设有2个人员,分别为 yewu01,yewu02 caiwu01,caiwu02 jingli01 jingli02
  1   每个用户可以访问自己的宿主目录,并且只有该用户能访问宿主目录,并具有完全的权限,
    而其他人不能看到你的宿主目录。
  2   建立一个caiwu 的文件夹, 要求对财务组和领导组的可看到, 只有caiwu01有写入的权限 ,   其他的不能访问
  3   建立一个yewu的文件夹, 要求对业务组可读写, 经理组的可查看.
  4   建立一个公司文件共享目录, 要求全部人可查看, 但每个人只能删除自己的文件, 不能删除别人。

  第一步 先建立用户的帐号与所属工作组, 建立对应的目录并给目录777的权限

# groupadd caiwu 
   
            # groupadd yewu 
   
            # groupadd jinli 
   
            # useradd caiwu01 -g caiwu 
   
            # useradd caiwu02 -g caiwu 
   
            # userdel yewu01 -g yewu 
   
            # useradd yewu01 -g yewu 
   
            # useradd yewu02 -g yewu 
   
            # useradd jinli01 -g jinli 
   
            # useradd jinli02 -g jinli 
   
            # mkdir -p /home/samba/caiwu 
   
            # mkdir -p /home/samba/yewu 
   
            # mkdir -p /home/samba/public 
   
            # chmod 777 -R /home/samba 
   
            这里给777的权限,避免后面的因为权限而产生的麻烦. 
   
            # 使用smbpasswd -a caiwu01(caiwu02...)将6个用户加到samba用户中. 
   
            
   
第二步 设定samba配置文件. 
   
              一般主要修改下面几个选项就可以了 
   
#======================= Global Settings===================================== 
   
            [global] 
   
            workgroup = MYHOME 
   
            hosts allow = 192.168.1.   (安全设定允许访问的网段, 注释掉意思不加限制允许任意网络访问) 
   
            security = user 
   
#============================ Share Definitions ============================== 
   
            [homes] 
   
            comment = Home Directories 
   
            browseable = no 
   
            writable = yes 
   
            上面是设定每个用户的宿主目录, 一般samba是设定好的,无需更改. 
   
            [caiwu] 
   
            comment = caiwu directory 
   
            path = /home/samba/caiwu 
   
            public = no 
   
            write list = caiwu01 
   
            valid users = @caiwu,@jinli 
   

            [yewu] 
   
            comment = yewu directory 
   
            path = /home/samba/yewu 
   
            public = no 
   
            write list = @yewu 
   
            valid users = @jinli 
   

            [public] 
   
            comment = Public Stuff 
   
            path = /home/samba/public 
   
            public = yes 
   
            browseable = yes 
   
            writeable = yes 
   
            
   
            完成后记得重起samba 
   
            # service smb restart



第三步 设定public的权限, 因为samba的不能做到每个人只能删除自己的文件, 不能删除别人的功能,linux设置目录Sticky bit权限. 目录设定了Sticky的权限,在这个目录下的文件只有root与文件的所有者才能删除, 这样可以实现我们上面第四个要求.

# chmod 1777 /home/samba/public



五   测试
    用windows或samba client测试你所做的是否正确.


加强配置



hosts deny = 192.168.0.



hosts allow = 192.168.0.24 表示允许192.168.0.24这个IP地址访问


hosts deny = .sale.com .net free 表示禁止.sale.com域和.net域及主机名为free的客户端访问public这个共享目录。中间用空格分开。



browseable = no表示隐藏该目录,直接输入文件夹路径还是可以看到



配置用户独立配置文件

cp smb.conf smb.conf.bose


编辑smb.conf ,在[global]中加入 config file = /etc/samba/smb.conf.%U,表示samba服务器读取/etc/samba/smb.conf.%U文件,其中%U代表当前登录用户。命名规范与独立配置文件匹配


编辑boss帐号的独立配置文件smb.conf.boss,将tech目录里面的browseable = no删除,这样当boss帐号访问samba时,tech共享目录对boss帐号访问就是可见滴,这样主配置文件smb.conf和boss帐号的独立配置文件相搭配就有实现其他用户访问时tech共享目录是隐藏滴,而boss帐号访问时就是可见滴。


帐号映射

username map = /etc/samba/smbusers开启用户帐号映射功能。


编辑/etc/samba/smbusers

smbusers文件保存帐号映射关系,其有固定滴格式:



samba帐号 = 虚拟帐号(映射帐号)