1. 首先服务器采用用户验证的方式,每个用户可以访问自己的宿主目录,并且只有该用户能访问宿主目录,并具有完全的权限,而其他人不能看到你的宿主目录。
  2. 建立一个caiwu的文件夹,希望caiwu组和lingdao组的人能看到,network02也可以访问,但只有caiwu01有写的权限。
  3. 建立一个lindao的目录,只有领导组的人可以访问并读写,还有network02也可以访问,但外人看不到那个目录
  4. 建立一个文件交换目录exchange,所有人都能读写,包括guest用户,但每个人不能删除别人的文件。
  5. 建立一个公共的只读文件夹public,所有人只读这个文件夹的内容。


前期准备工作


一、建立3个组:


#groupadd caiwu 
 
#groupadd network 
 
#groupadd lingdao





二、添加用户并加入相关的组当中:


#useradd caiwu01 -g caiwu 
 
#useradd caiwu02 -g caiwu 
 
#useradd network01 -g network 
 
#useradd network02 -g network 
 
#useradd lingdao01 -g lingdao 
 
#useradd lingdao02 -g lingdao




三、使用smbpasswd -a username的命令为6个帐户分别添加到samba用户中


#smbpasswd -a caiwu01 

  #smbpasswd -a caiwu02


四、创建目录

#mkdir /home/samba 
 
#mkdir /home/samba/caiwu 
 
#mkdir /home/samba/lingdao 
 
#mkdir /home/samba/exchange 
 
#mkdir /home/samba/public 
 
# chmod 777


    我们为了避免麻烦可以在这里把上面所有的文件夹的权限都设置成777,我们通过samba灵活的权限管理来设置上面的5点要求。


五、smb.conf的配置文件

[global] 
 
workgroup = bmit         
 #网络工作组名称 
 
server string = Frank's Samba File Server    #服务器名描述
 
 security = user         
 #使用用户验证机制 
 
encrypt passwords = yes 
 
smb passwd file = /etc/samba/smbpasswd 
 
#使用加密密码机制,在win95和winnt使用的是明文


其他的基本上可以按照默认的来。

[homes]                 
 #homes段满足第1条件 
 
comment = Home Directories 
 
browseable = no 
 
writable = yes 
 
valid users = %S 
 
create mode = 0664 
 
directory mode = 0775 
 


[caiwu]     
 #caiwu段满足我们的第2要求 
 
comment = caiwu 
 
path = /home/samba/caiwu 
 
public = no 
 
valid users = @caiwu,@lingdao,network02 
 
write list = caiwu01 
 
printable = no


@后面跟的是group名字


[lingdao]     
 #lingdao段能满足我们的第3要求 
 
comment = lingdao 
 
path = /home/samba/lingdao 
 
public = no 
 
browseable = no 
 
valid users = @lingdao,network02 
 
printable = no 
 


[exchage] 
 
comment = Exchange File Directory 
 
path = /home/samba/exchange 
 
public = yes 
 
writable = yes


    #exchange段基本能满足我们的第4要求,但不能满足每个人不能删除别人的文件这个条件,即使里设置了mask也是没用,其实这个条件只要unix设置一个粘着位t就行

chmod -R 1777 /home/samba/exchange 
    注意这里权限是1777,类似的系统目录/tmp也具有相同的权限,这个权限能实现每个人能自由写文件,但不能删除别人的文件这个要求

[public]     
 #这个public段能满足我们的第5要求。 
 
comment = Read Only Public 
 
path = /home/samba/public 
 
public = yes 
 
read only = yes




六、重启服务

七、检测

#/etc/rc.d/init.d/smb restart

1、&&&&&    windows用户
windows cmd命令模式下输入,net use * /delete 

该命令可以使之前建立的所有连接都失效,否则有可能出现不能连接的情况。

在我的电脑地址栏里输入\\192.168.1.1访问;也可windows+R输入\\192.168.1.1;

登录后可以右击映射到本地驱动器。


2、&&&&&    Linux用户

如果大家没有winodws,不妨先用samba的cilent端命令来测试一下

命令的用法我在这里只举几个例子,具体的大家去试验
smbclient -L 服务器ip -N 


# smbclient -L 192.168.32.128 -N 
 
 
 

    # smbclient -L 192.168.32.128 -U caiwu01 
  
 
 

    # smbclient //192.168.32.128/caiwu -U caiwu01 
  
 
 

    # smbclient //192.168.32.128/lingdao -U lingdao01 
  
 
 

    # smbclient //192.168.32.128/caiwu -U lingdao01 
  
 
 
     
 smbmount //服务器ip/caiwu /mnt/caiwu -o username=caiwu01

#把服务器的财务目录映射到本地的/mnt/caiwu目录。


测试

smbclient -L //localhost/share 或者 
smbclient-L \\127.0.0.1 -Umyname//这时输入的密码就是你刚才设置的samba密码



2、linux

(1)使用smbclient

192.168.1.1/Normal -U user%passwd
(2)挂载到某个目录使用

#mkdir/mnt/share
 #mount -o username=youruser,password=passwd //192.168.1.1/Normal  /mnt/share

设置开机挂载将如下命令写入/etc/fstab

//192.168.1.1/share  /mnt/ml45  cifs  defaults,auto,username=youruser,password=passwd 0 0

然后#mount -a