Linux ACL权限管理案例
Published on 2015 - 04 - 16
案例简介
某公司结构分为教研室(teach)、校长办公室(office)、财务部(finance)、行政部(admin)、市场部(market)。为了后期部署文件共享服务器,我们需要为每个部门创建各自独立的共享目录,根据要求为所有的普通员工创建各自独立的账户,这些账户仅需要读取权限即可,并为每个部门的负责人创建一个管理账户(管理员名称为Op_部门名称),这个账户要求可以进行读写操作。为了后期管理的方便,需要为每个部门创建与部门名称相同的组账户。
创建共享目录
mkdir -p /var/{teach,office,finance,admin,market}
创建组账户
groupadd teach
groupadd office
groupadd finance
groupadd admin
groupadd market
创建组管理员账户
useradd -g teach Op_teach
useradd -g office Op_office
useradd -g finance Op_finance
useradd -g admin Op_admin
useradd -g market Op_market
创建普通员工账户
useradd -g teach endy
useradd -g office lucy
useradd -g finance jacob
useradd -g admin jerry
useradd -g market marry
添加组管理员
gpasswd -A Op_teach teach
gpasswd -A Op_office office
gpasswd -A Op_finance finance
gpasswd -A Op_admin admin
gpasswd -A Op_market market
chown Op_teach.teach /var/teach
chown Op_office.office /var/office
chown Op_teach.finance /var/finance
chown Op_admin.admin /var/admin
chown Op_market.market /var/market
chmod 755 /var/{teach,office,finance,admin,market}
ACL访问控制权限
由于系统的基本权限是针对文档所有者,所属组或其它账户进行控制的,无法针对某个单独的账户进行控制,所以就有了ACL访问控制列表的概念,使用ACL我们可以针对单一账户设置文档的访问权限。
使用Linux ACL来控制文件权限
Linux使用getfacl来查看每个文件的ACL例如
getfacl /root/install.log
getfacl使用示例
setfacl -m u:user1:rw test.txt
#添加ACL条目,使用户user1对test.txt文件可读可写
setfacl -m g:user1:r test.txt
#添加ACL条目,使user1组对test.txt文件可读
setfacl -x g:user1:r test.txt
#删除user1组的ACL条目
setfacl -b test.txt
#删除所有附加的ACL条目