1.samba常用配置

(1)rpm -ivh perl-Convet-ASN1-----
   rpm -ivh samba----
   rpm -ivh system-config-samba------
(2)useradd test
   smbpasswd -a test
   useradd abc
   msbpasswd -a abc
(3)cd /etc/samba/
   vim smb.conf
在末尾添加:
   [public]
   comment = pulic stuff
   path = /pub
   writable = no
   write list = @test
   printale = no

   testparm
   /etc/init.d/smb restart
   这个时候,在public目录中都不能创建文件!
(4)mkdir /pub
   chmod 777 /pub
  这个时候,只用test可以在public目录中创建文件夹!
  因为write list = @test
----
(1).修改主配置文件
   [public]
   comment = pulic stuff
   path = /pub
   writeble = no
   write list = @test
   printale = no
   only guest = yes
(2).发现当在public中创建文件的时候,ll出来的都是nobody用户!
------------------------------------------
2.用户目录
2-1:
(1)rpm -ivh perl-Convet-ASN1-----
   rpm -ivh samba----
   rpm -ivh system-config-samba------
(2)useradd test
   smbpasswd -a test
   useradd abc
   msbpasswd -a abc
(3).cp /etc/smaba/smb.conf /etc/samba/smb.conf.test
(4).vim /etc/samba/smb.conf
    添加一行:
    config file = /etc/samba/smb.conf.%U
    在去掉文件中起任意个[]
(5).vim /etc/samba/smb.conf.test
       [test]
       path = /test
       writable = yes
(6). chown test.test /test/
    当test用户登入时,只能看见自己的test目录!
    当其他用户登入时,看不见test目录!
-----------
2-2
(1).useradd jingli
    smbpasswd -a jingli
    cp -a smb.conf jingli.smb.conf
(2).vim smb.conf
         include = /etc/samba/%U.smb.conf
(3).vim jingli.smb.conf
        [jingli]
        comment = jingli
        path = /jingli
        public = yes
        writable = yes
        vali users = jingli
(4).chown jingli:jingli /jingli
    /etc/init.d/smb restart
    当jingli用户登入的时候,有jingli文件
    其他用户登入的时候,没有!
-----------
2-3
   分别创建tech组和sales组,s1-3为sales组,t1-3为tech组!
   s1-3登入后只有自己和组的目录!
   t1-3登入后只有自己和组的目录!
   master登入和可以见sales组和tech组和自己的目录!
(1).groupadd tech
    groupadd sales
    useradd master
    useradd -g sales s1
    useradd -g tech t1
    smbpass -a master---t1
(2).cp /etc/samba/smb.conf /etc/samba/master.smb.conf
    cp /etc/samba/smb.conf /etc/samba/sales.smb.conf
    cp /etc/samba/smb.conf /etc/samba/tech.smb.conf
(3).vim /etc/samba/smb.conf
        include = /etc/smaba/%U.smb.conf
        include = /etc/smaba/%G.smb.conf
(4).cd /etc/samba
    vim master.smb.conf
    [sales]
    comment = sales
    path = /sales
    valid users = master
    [tech]
    comment = tech
    path = /tech
    valid users = master
(5).vim sales.smb.conf
    [sales]
    comment = sales
    path = /sales
    valid users = @sales,master
(6).vim tech.smb.conf
    [tech]
    comment = tech
    path = /tech
    valid users = @tech,master
(7).cd /
    mkdir tech sales
    此时以master身份登入时:有master sales tech文件!
    如果想让master有对sales和tech文件控制的权限
    就要加上:writable = yes
    以t1和s1登入的时候,只能看见自己的目录和所有组的文件夹!
---
2-4
   某企业,有财务部、销售部、还有公共共享文件目录
   实现:只有公司经理能读取和写入财务部、销售部的共享目录
         各个部门的员工只能访问和写入本部门的共享目录,但不能删除其他用户的文件
         公共目录只能读取和写入。
(1)cp smb.conf jingli.smb.conf -p
   cp smb.conf sales.smb.conf -p
   cp smb.conf tech.smb.conf -p
(2)vim smb.conf
   include = /etc/samba/%U.smb.conf
   include = /etc/samba/%G.smb.conf
   [public]
   comment = public
   path = /wqmsl/public
   writable = no
   printalbe = no
(3)groupadd caiwu
   gourpadd xiaoshou
   useradd -g caiwu -s /sbin/nologin s1
   useradd -g caiwu -s /sbin/nologin s2
   useradd -g xiaoshou -s /sbin/nologin t1
   useradd -g xiaoshou -s /sbin/nologin t2
   useradd jingli
   smbpass -a ---------
(4)vim xiaoshou.smb.conf
       [xiaoshou]
       comment = xiaoshou
       path = /wqmsl/xiaoshou
       writable = yes
       valid users = @xiaoshou,jingli
       public = no
 
  vim caiwu.smb.conf
      [caiwu]
      comment = caiwu
      path = /wqmsl/caiwu
      writable = yes
      valid users = @caiwu,jingli
      public = no
  
  vim jignli.smb.conf
      [xiaoshou]
      comment = xiaoshou
      path = /wqmsl/xiaoshou
      writable = yes
      valid users = jingli,@xiaoshou
      [caiwu]
      comment = caiwu
      path = /wqmsl/caiwu
      writable = yes
      valid users = jingli,@caiwu
(5)cd /
   mkdir wqmsl
   cd wqmsl
   mkdir caiwu xiaoshou
   chmod 777 .
   

案例:
公司有财务,技术,领导3个部门,
我们分别为3个部门建立3个用户组为caiwu,network,lingdao;
三个部门里各有2个用户,我们建用户分别为caiwu01,caiwu02,network01,network02,lingdao01,lingdao02

1首先服务器采用用户验证的方式,每个用户可以访问自己的宿主目录,
并且只有该用户能访问宿主目录,并具有完全的权限,而其他人不能看到你的宿主目录。 
1-1.make /home/samba/network
  make /home/samba/jingdao
  make /home/samba/caiwu
  我们为了避免麻烦可以在这里把上面所有的文件夹的权限都设置成777,
  我们通过samba灵活的权限管理来设置上面的4点要求

1-2.设置主配置文件:
以下是我的smb.conf的配置文件
[global]
workgroup = DONGFANG  #我的网络工作组
server string =DONGFANG’S SAMBA SERVER #我的服务器名描述
security = user #使用用户验证机制
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
#使用加密密码机制,在win95和winnt使用的是明文
其他的基本上可以按照默认的来。
1-3.设置用户的宿主目录,满足第一个条件:
[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S
create mode = 0664
directory mode = 0775

2.建立一个caiwu的文件夹,希望caiwu组和lingdao组的人能看到,network02也可以访问,但只有caiwu01有写的权限。 
[caiwu]
comment = caiwu
path = /home/samba/caiwu
public = no
valid users = @caiwu,@lingdao,network02
write list = caiwu01
printable = no

3.建立一个lindao的目录,只有领导组的人可以访问并读写,还有network02也可以访问,但外人看不到那个目录 
[lingdao]
comment = lingdao
path = /home/samba/lingdao
public = no
valid users = @lingdao,network02
write list = @lingdao
printable = no

4.建立一个文件交换目录exchange,所有人都能读写,包括guest用户,但每个人不能删除别人的文件。
[network]
comment = Network File Directory
path = /home/samba/network
public = yes
writable = yes

#network段基本能满足我们的第4要求,但不能满足每个人不能删除别人的文件这个条件,即使里设置了mask也是没用,其实这个条件只要unix设置一个粘着位就行
chmod -R 1777 /home/samba/network 
注意这里权限是1777,类似的系统目录/tmp也具有相同的权限,这个权限能实现每个人能自由写文件,但不能删除别人的文件这个要求
到此为止我们的设置已经能实现我们的共享文件要求,重启服务