环境
RedHat Linux 9 + VWWare 8.0 + SSH 3.2.9
任务要求
使用Samba服务完成下面的任务:
假如公司有财务,技术,领导3个部门,我们分别为3个部门建立3个用户组为caiwu,network,lingdao;
三个部门里各有2个用户,我们建用户分别为caiwu01,caiwu02,network01,network02,lingdao01,lingdao02
1、首先服务器采用用户验证的方式,每个用户可以访问自己的宿主目录,并且只有该用户能访问宿主目录,并具有完全的权限,而其他人不能看到你的宿主目录
2、建立一个caiwu的文件夹,希望caiwu组和lingdao组的人能看到,network02也可以访问,但只有caiwu01有写的权限。
3、建立一个lindao的目录,只有领导组的人可以访问并读写,还有network02也可以访问,但外人看不到那个目录
4、建立一个文件交换目录exchange,所有人都能读写,包括guest用户,但每个人不能删除别人的文件。
5、建立一个公共的只读文件夹public,所有人只读这个文件夹的内容。
验证方法:
比如:以caiwu01用户登录SSH,然后用以下命令验证samba服务配置是否正确
smbclient //linuxIP/samba配置文件中*享文件的名字
比如在SSH中输入以下命令:smbclient //192.168.78.100/share
相关命令
1.建立3个组:
groupadd caiwu;
groupadd network;
groupadd lingdao;
2.添加用户并加入相关的组当中:
useradd caiwu01 -g caiwu;
useradd caiwu02 -g caiwu;
useradd network01 -g network;
useradd network02 -g network;
useradd lingdao01 -g lingdao;
useradd lingdao02 -g lingdao;
3.使用smbpasswd为每个用户添加samba密码
smbpasswd caiwu01;
smbpasswd caiwu02;
smbpasswd network01;
smbpasswd network02;
smbpasswd lingdao01;
smbpasswd lingdao02;
4.我们使用smbpasswd -a caiwu01的命令为6个帐户分别添加到samba用户中
smbpasswd -a caiwu01;
smbpasswd -a caiwu02;
smbpasswd -a network01;
smbpasswd -a network02;
smbpasswd -a lingdao01;
smbpasswd -a lingdao02;
5.创建需要使用的目录:
mkdir /home/samba;
mkdir /home/samba/caiwu;
mkdir /home/samba/lingdao;
mkdir /home/samba/exchange;
mkdir /home/samba/public;
为了避免麻烦可以在这里把上面所有的文件夹的权限都设置成777
通过samba灵活的权限管理来设置上面的5点要求.
6.配置smb.conf
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使用的是明文
7.homes段满足第1条件
[caiwu01]
comment = caiwu01
browseable = yes
writeable = yes
path = /home/caiwu01
valid users = caiwu01
[caiwu02]
comment = caiwu02
browseable = yes
writeble = yes
path = /home/caiwu02
[network01]
comment = network01
browseable = yes
writeable = yes
path = /home/network01
valid users = network01
[network02]
comment = network02
browseable = yes
writeable = yes
path = /home/network02
valid users = network02
[lingdao01]
comment = lingdao01
browseable = yes
writeable = yes
path = /home/lingdao01
valid users = lingdao01
[lingdao02]
comment = lingdao02
browseable = yes
writeable = yes
path = /home/lingdao02
valid users = lingdao02
8.caiwu段满足我们的第2要求
[caiwu]
comment = caiwu
path = /home/samba/caiwu
public = no
valid users = @caiwu,@lingdao,network02
write list = caiwu01
printable = no
#caiwu段满足我们的第2要求
9.lingdao段能满足我们的第3要求
[lingdao]
comment = lingdao
path = /home/samba/lingdao
public = no
browseable = no
valid users = @lingdao,network02
printable = no
#lingdao段能满足我们的第3要求
10.exchage共享文件配置
[exchage]
comment = Exchange File Directory
path = /home/samba/exchange
public = yes
writable = yes
#exchange段基本能满足我们的第4要求,但不能满足每个人不能删除别人的文件这个条件,即使里设置了mask也是没用,其实这个条件只要unix设置一个粘着位就行
chmod -R 1777 /home/samba/exchange
注意这里权限是1777,类似的系统目录/tmp也具有相同的权限,这个权限能实现每个人能*写文件,但不能删除别人的文件这个要求
11.这个public段能满足我们的第5要求
[public]
comment = Read Only Public
path = /home/samba/public
public = yes
read only = yes
#这个public段能满足我们的第5要求。