Linux 权限 ACL
本文最后更新于 2360 天前,其中的信息可能已经有所发展或是发生改变。

传统权限模型缺点

传统的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
暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇