Linux Samba服务器配置练习

时间:2021-02-04 17:46:01

环境


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要求。