Samba 权限设置
一、samba 要求
公司有财务,技术,领导3个部门,我们分别为3个部门建立3个用户组为caiwu,network,lingdao;
三个部门里各有2个用户,我们建用户分别为 caiwu01,caiwu02,network01,network02,lingdao01,lingdao02
Samba权限划分:
1,每个用户可以访问自己的宿主目录,并且只有该用户能访问宿主目录,并具有完全的权限,而其他人不能看到你的宿主目录。
2,建立一个caiwu的目录,caiwu组和lingdao组的人能看到,但是只有caiwu01有写权限,network02有访问权限。
3,建立一个领导目录,只有领导组的人可以访问并读写或指定network02可以访问,但外人看不到。
4,建立一个共享目录exchange,所有人都能读写,但每个人不能删除别人的文件。
5,建立一个只读目录public,所有人只能读这个目录的内容。
二、操作
#sudo groupadd caiwu
#sudo groupadd network
#sudo groupadd lingdao
#sudo useradd caiwu01 -g caiwu
#sudo useradd caiwu02 -g caiwu
#sudo useradd network01 -g network
#sudo useradd network02 -g network
#sudo useradd lingdao01 -g lingdao
#sudo useradd lingdao02 -g lingdao
然后我们编辑用户密码
sudo smbpasswd -a caiwu01
sudo smbpasswd -a caiwu02
sudo smbpasswd -a network01
sudo smbpasswd -a network02
sudo smbpasswd -a lingdao01
sudo smbpasswd -a lingdao02
删除用户
sudo smbpasswd -x username
创建用户的自己目录
sudo mkdir /home/caiwu01
sudo mkdir /home/caiwu02
sudo mkdir /home/lingdao01
sudo mkdir /home/lingdao02
sudo mkdir /home/network01
sudo mkdir /home/network02
修改用户目录权限
sudo chmod -R 777 /home/caiwu01
sudo chmod -R 777 /home/caiwu02
sudo chmod -R 777 /home/lingdao01
sudo chmod -R 777 /home/lingdao02
sudo chmod -R 777 /home/network01
sudo chmod -R 777 /home/network02
创建用户的共享目录
#sudo mkdir /home/samba
#sudo mkdir /share/samba/Team-L1
#sudo mkdir /share/samba/Leader
#sudo mkdir /share/samba/exchange
#sudo mkdir /home/samba/public
我们为了避免麻烦可以在这里把上面所有的文件夹的权限都设置成777,我们通过samba灵活的权限管理来设置上面的5点要求。
sudo chmod -R 777 /home/samba
sudo chmod -R 777 /home/samba/*
sudo chmod -R 1777 /home/samba/exchange
注意这里权限是1777,类似的系统目录/tmp也具有相同的权限,这个权限能实现每个人能自由写文件,但不能删除别人的文件
三、sudo vim /etc/samba/smb.conf
[global]
workgroup = WorkGroup
security = user
log file = /var/log/samba/%m.log
passdb backend = tdbsam
log level = 10
printing = cups
printcap name = cups
load printers = yes
cups options = raw
#map to guest = Bad User
server multi channel support = yes
vfs objects = aio_pthread
aio read size = 1
aio write size = 1
strict locking = No
max log size = 10240
#Audit settings
;full_audit:prefix = %u|%I|s
;full_audit:failure = connect
;full_audit:sucess = connect disconnect opendir mkdir rmdir closedir open close fchmod chown fchown chdir
;full_audit:facility = local5
;full_audit:priority = notice
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
#Team-L1,Team-L2,Leader组都可以访问,但是只有Team-L1组的人有所有权限
[Team-L1]
comment = Shared Folder
path = /share/samba/Team-L1
valid users = @Team-L1,@Team-L2,@Leader
#admin users = @Team-L1,@Leader
browseable = yes
public = yes
writable = no
write list = @Team-L1
printable = no
create mask = 0777
directory mask = 0777
available = yes
#只有@Leader组和L2用户下的可以访问,但是只有Leader组下人员有读写权限
[Leader]
comment = Shared Folder
path = /share/samba/Leader
valid users = @Leader,L2
browseable = yes
writable = no
write list = @Leader
public = yes
printable = no
create mask = 0777
directory mask = 0777
available = yes
#只读目录,所有人都可以访问没有其他权限,L2用户有管理权限
[ReadOnly]
comment = Shared Folder
path = /share/samba/ReadOnly
valid users = @Team-L1,@Team-L2,@Leader
admin users = L2
browseable = yes
public = yes
read only = yes
write list = L1
printable = no
create mask = 0774
directory mask = 0774
available = yes
#共享目录,所有人都可以访问读写,但是只能读写自己创建的目录或文件,@Leader组下的有管理员权限
[share]
comment = Shared Folder
path = /share/samba/share
valid users = @Team-L2,@Team-L1,@Leader
admin users = @Leader
browseable = yes
public = yes
writable = yes
printable = no
create mask = 1744
directory mask = 1755
available = yes
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类