• {{ item.name }}
  • Home
  • Linux
  • Programming
    • Python
  • Life
  • Other
  • Tools
  • 投资者该如何参与优秀的区块链项目- NuLink社区圆桌会议
  • 什么是NuLink?- 项目中文社区与项目研究组成员 Rookie 对话实录
  • NuLink 融资 400 万美元用于开发隐私保护技术
  • NuLink的零知识证明介绍(1)
  • 用bitwarden_rs搭建属于自己的密码管理器
  • 修复 CentOS vps 网卡失效
  • 记录用mac给Nexus6P刷Android10的错误
  • Centos 6.8启用 TCP BBR拥塞控制算法
  • Nginx 启用HTTP2功能
  • Mac 安装adb工具
  • WordPress 默认编辑器代码按钮

Linux 权限 ACL

  • iansiu
  • 2016-06-04
  • 0

传统权限模型缺点

传统的UGO权限模型无法应对复杂的权限设置需求,如对于一个文件只能设置一个组,并且对改组进行权限控制,但是如果该文件有多个组会对其进行访问,并且都要进行权限限制时,传统的UGO模型就无法满足需求了。

ACL (Access Control List)是一种高级权限机制,允许我们对一个文件或文件夹进行灵活的、复杂的权限设置。

ACL需要在挂载文件的时候打开ACL功能:

mount -o acl /dev/sda5 /mnt

ACL允许针对不同用户、不同组对一个目标文件/文件夹进行权限设置,不受UGO模型限制。

查看一个文件/文件夹的ACL设置

getfacl test

针对一个用户对文件进行ACL设置

setfacl -m u:nash_su:rwx test

针对一个组对文件进行ACL设置

setfacl -m g:training:rw test

删除一个ACL设置

setfacl -x u:nash_su test

实例

假设文件test用户、组如下:

组 用户

numbers       123,456
manage        stave,david
boss          boos

现要求为各部门、员工建立相应的工作文件夹,要求如下:

所有目录、文件保存在统一的一个文件下
每个部门拥有一个独立的文件夹
不同部门之间不可访问各自文件夹
每个员工在所在部门文件夹下拥有一个所属的文件夹
同部门不同员工之间可以查看各自文件夹内容,但不可修改。用户仅能够修改自己的内容
boss组的用户对所有组的文件均有访问权限,但无修改权限

mkdir test

groupadd numbers
groupadd manage
groupadd boos

useradd -G numbers 123
useradd -G numbers 456

useradd -G manage stave
useradd -G manage david
useradd -G boos boos

mkdir numbers
mkdir manage

chgrp numbers numbers/
chgrp manage manage/

chmod o-rwx numbers
chmod o-rwx manage

chmod g+s numbers
chmod g+s manage

cd numbers

mkdir 123
mkdir 456

chown 123 123
chown 456 456

cd manage

mkdir stave
mkdir david

chown stave stave
chown david david

setfacl -m g:boos:rx numbers
setfacl -m g:boos:rx manage
© 2023 laowang's blog
Theme by Wing