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
posted @   hc执迷不悟  阅读(1453)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示