linux用户和用户组、权限及文件访问控制列表ACL
1、新建用户和用户组
groupadd bakerstreet
groupadd scotlandyard
usermod -G bakerstreet holmes
usermod -G bakerstreet watson
usermod -G scotlandyard lestrade
usermod -G scotlandyard gregson
usermod -G scotlandyard jones
cat /etc/group
bakerstreet❌1003:holmes,watson
scotlandyard❌1004:lestrade,grepson,gregson,jones
##2、 权限和授权
mkdir -p /shares/cases
cd /shares/cases
touch test1.txt
echo 123456 > test1.txt
chgrp -R bakerstreet /shares/cases/
chmod g+s /shares/cases/
chmod 660 /shares/cases/*
3、设置ACL访问控制列表
setfacl -Rm g:bakerstreet:rwX /shares/cases
setfacl -Rm g:scotlandyard:rwX /shares/cases
setfacl -Rm u:jones:rX /shares/cases
setfacl -m d:g:scotlandyard:rwx /shares/cases
setfacl -m d:u:jones:rX /shares/cases
getfacl /shares/cases
##4、 验证
以holmes身份登陆
sudo -i -u holmes
cd /shares/cases
sudo echo hello >holmes.txt
cat holmes.txt
mkdir holmes.dir
echo hello > holmes.dir/test.txt
ls -ld holmes.dir
getfacl holmes.dir
注释:这个用户是能读写执行的。
以lestrade身份登陆
sudo -i -u lestrade
cd /shares/cases
sudo echo hello >lestrade.txt
cat lestrade.txt
mkdir lestrade.dir
echo hello > lestrade.dir/test.txt
ls -ld lestrade.dir
getfacl lestrade.dir