|
|
Linux setfacl/getfacl命令详解
! H4 z: a I" _! N
/ y- w3 y4 P V/ b, |setfacl,命令名,设置文件访问控制列表,即ACL规则。而Acl(Access Control List)就是访问控制列表 setfacl常见命令参数setfacl 2.2.51 -- 设定文件访问控制列表 4 E. t3 I9 @+ ?" i
| 用法: setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...
" T! d; G8 v7 h% e -m, --modify=acl 更改文件的访问控制列表 + j7 ~ a$ _& k, {5 ~, w3 D, |
-M, --modify-file=file 从文件读取访问控制列表条目更改
3 p6 @9 `' l6 f* p2 } -x, --remove=acl 根据文件中访问控制列表移除条目
) X( q' O" @) b4 d -X, --remove-file=file 从文件读取访问控制列表条目并删除 6 |# n8 ]2 y: }7 R7 K
-b, --remove-all 删除所有扩展访问控制列表条目 , a" _3 F% ?. W0 k
-k, --remove-default 移除默认访问控制列表
; w7 o* W, N" U+ J --set=acl 设定替换当前的文件访问控制列表
) j( a# k% p% n% R- v: _ --set-file=file 从文件中读取访问控制列表条目设定
% c+ J4 B f4 z5 W% F --mask 重新计算有效权限掩码
/ L1 J! h1 k* ^; o: t7 }; f2 r% }) ]2 A -n, --no-mask 不重新计算有效权限掩码
6 Y5 T/ V9 l5 s -d, --default 应用到默认访问控制列表的操作
* b& D1 P( b, [) v b -R, --recursive 递归操作子目录 ! ?( K7 u5 m! ]& P
-L, --logical 依照系统逻辑,跟随符号链接
z, N( g& e' P. Y* Q' ^$ L -P, --physical 依照自然逻辑,不跟随符号链接 ; b5 N! O- s! C3 P
--restore=file 恢复访问控制列表,和“getfacl -R”作用相反 # n& S2 `( ]0 Q \! d# c! y
--test 测试模式,并不真正修改访问控制列表属性 ) b& I4 W. i# n
-v, --version 显示版本并退出 - d4 q* T2 N$ R# {3 E# {
-h, --help 显示本帮助信息 ( o5 Q, Z- B9 B0 O) @: U( s
# n+ [6 g" Y0 B9 d
|
8 g) g, n3 t) v' x3 Q
& Z) A2 ~5 ? Y! M" e2 _getfacl常见命令参数
6 u9 c0 u8 p O1 B/ I | getfacl 2.2.49 -- get file access control lists & S! M8 g1 h7 @& p6 `7 n
Usage: getfacl [-aceEsRLPtpndvh] file ...
/ E8 l8 `& \+ Q" G -a, --access display the file access control list only 7 k* D2 w$ t& S; J0 m
-d, --default display the default access control list only % j0 N# q5 m- m% T, M5 N5 u, P
-c, --omit-header do not display the comment header 2 H& G! I _+ n8 b
-e, --all-effective print all effective rights / g/ D0 h7 V6 j0 E2 G
-E, --no-effective print no effective rights 4 \ v- x/ G3 k a+ v4 p; d ^/ W
-s, --skip-base skip files that only have the base entries
! \( p& k3 d, T& o- S, z -R, --recursive recurse into subdirectories
3 |+ Y* Y. D" g9 c$ z4 m I2 X -L, --logical logical walk, follow symbolic links
* m0 s) p- v. b, [ -P, --physical physical walk, do not follow symbolic links
6 G2 b- H7 u. Z- S -t, --tabular use tabular output format ( {, i j% r9 C3 B8 I; b
-n, --numeric print numeric user/group identifiers
+ U$ G8 J; @. i& y4 w; B( r, a$ J& ^9 i -p, --absolute-names don't strip leading '/' in pathnames
' z2 D8 t4 h E4 n -v, --version print version and exit
7 @( `& O; Y( N9 F8 y -h, --help this help text
: v, E, A4 o9 w - Q9 q( O/ J( @$ \7 [
|
( |/ V( ]2 z9 H+ ^
" K; f; a/ I. X% o. G" U常用的命令展示获取文件的ACL [ # }6 g$ G! p' p' M! n7 Z* N% K
| [root@learn ~]#vim a.txt ) h+ O' b/ X+ e9 V6 f: n2 D7 l
[root@learn ~]# getfacl a.txt
X* q k1 I1 M2 B9 L$ u# file: a.txt
/ |3 J. p2 g: z: Y# owner: root S$ h) W$ K; W
# group: root
! P- I$ P5 m% A3 T7 \/ Guser::rw-! l- j' J. s2 i( v8 _
group::r--
. n+ C0 N. V4 ?( p& L2 @ U. G* R9 Wother::r-- / _. P( V, m6 M: J; Q
8 {6 C7 B6 B- P8 i9 n! ]
|
9 R4 Y* y/ O, l j% @: q2 `& F( a1 N n0 |% j3 `/ R) v3 s/ g
{9 Y& Y2 g; z/ q) M+ l5 C* q, |更改文件的ACL,添加一个用户的权限 7 V `4 `: n* C
| [root@localhost ~]# setfacl -m u:user1:r file1 ! _( C' _ c% q- U% } i( P
[root@localhost ~]# setfacl -m g:group1:r file1 #添加一个组[root@localhost ~]# getfacl file1
9 c3 {" v# s3 M2 g$ d/ Q % C+ W* X$ j5 X/ p
|
# R- x/ [1 P6 S! K
1 W' E0 D' |, M. t) h2 |2 j( n; ]9 k
; B# `$ D4 h! h0 l' }8 C$ ]" P7 }7 l, m3 L7 b0 j
" ^- X1 ~# P$ f! c' @6 K+ _& b/ s+ V
: F2 t+ `- B( e! r
& n( R( x2 M/ J1 }0 T |
|