马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?开始注册
x
Linux setfacl/getfacl命令详解, U( d, E+ U* T+ ?. n: k% C7 a
% b0 X5 S8 r3 q+ f
setfacl,命令名,设置文件访问控制列表,即ACL规则。而Acl(Access Control List)就是访问控制列表 setfacl常见命令参数setfacl 2.2.51 -- 设定文件访问控制列表 & }% L \/ m1 ?/ e$ s& U: W7 e" k5 d
| 用法: setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...
: R( [/ s4 d' X# B- W* ]3 { -m, --modify=acl 更改文件的访问控制列表 5 f9 _2 Z0 s: M
-M, --modify-file=file 从文件读取访问控制列表条目更改 5 Y$ A7 Y& v' A! p! F
-x, --remove=acl 根据文件中访问控制列表移除条目 . c6 |) a8 R& O b
-X, --remove-file=file 从文件读取访问控制列表条目并删除 ) P/ p! x8 D2 A: e
-b, --remove-all 删除所有扩展访问控制列表条目 / W+ W% I" i( l0 y+ o
-k, --remove-default 移除默认访问控制列表
" Q$ R+ E' b' i3 N* m --set=acl 设定替换当前的文件访问控制列表
( h2 r9 L C4 t: S$ a2 A --set-file=file 从文件中读取访问控制列表条目设定
0 B) p1 g% w" T6 S --mask 重新计算有效权限掩码 , Y& w5 g( M: @9 F, }
-n, --no-mask 不重新计算有效权限掩码 + I: M0 u6 m5 V8 y' }) d7 M: u3 k
-d, --default 应用到默认访问控制列表的操作 * W$ S: u, c- `* I9 W7 ^
-R, --recursive 递归操作子目录 ' Y1 w3 S' P# V+ G' W) i0 _4 d, |
-L, --logical 依照系统逻辑,跟随符号链接
W/ N b" [" h5 i q -P, --physical 依照自然逻辑,不跟随符号链接
+ T0 m, k7 q: F' R- ` --restore=file 恢复访问控制列表,和“getfacl -R”作用相反
$ U' {1 ?: |5 a6 i1 y# M --test 测试模式,并不真正修改访问控制列表属性 ( Y- q3 h! o: Y/ `
-v, --version 显示版本并退出
, W& `3 c! m3 i/ Z8 c -h, --help 显示本帮助信息
% |$ G! H# E0 }; ]7 r" f
/ h1 ~' O3 x- V# _/ [$ ~6 A3 q | ; i% e1 A7 s3 h& O. e* w8 ?% P6 n
3 j7 j) Q! m- i) vgetfacl常见命令参数% K$ q/ A" | \! a4 B7 L
| getfacl 2.2.49 -- get file access control lists
6 _9 a1 I4 b# Y3 N9 fUsage: getfacl [-aceEsRLPtpndvh] file ...
& G; J0 V& X) A8 {8 M -a, --access display the file access control list only
; Q, }7 P4 @5 [) ~$ g. @' h' s6 x9 r -d, --default display the default access control list only
A' H# f* H( K1 n3 C: J1 T -c, --omit-header do not display the comment header
; Y& w3 @" U8 [3 z -e, --all-effective print all effective rights 4 m) m5 @! u! R/ J
-E, --no-effective print no effective rights J: }5 x1 ]! M1 P6 X% ]! @
-s, --skip-base skip files that only have the base entries - `7 d" {" m( o: |: a8 o
-R, --recursive recurse into subdirectories ( J' C4 P: r( {4 N$ E: v3 ~
-L, --logical logical walk, follow symbolic links X/ X- T: V& Q, G2 x
-P, --physical physical walk, do not follow symbolic links
, h& ~+ n* O3 k! i -t, --tabular use tabular output format 5 Q( b3 P; |0 |9 _; _
-n, --numeric print numeric user/group identifiers 9 R5 Q* S g0 T. g; M
-p, --absolute-names don't strip leading '/' in pathnames 4 X' w6 k2 n0 q$ K, n( g; p
-v, --version print version and exit ( t: G6 M6 p( D$ H* P
-h, --help this help text
. C) j! D7 d9 N 3 Z5 |2 e9 l0 O$ o! E8 T+ M, O1 X
|
0 E \# b! E$ l/ X
% Y: P3 w1 G6 X/ r7 y常用的命令展示获取文件的ACL [ $ u6 Z; Q" v8 e- X- n8 i5 M% G
| [root@learn ~]#vim a.txt
1 T1 U+ n; ]1 z0 a/ V* W' f[root@learn ~]# getfacl a.txt. M2 L& n& x4 Z
# file: a.txt5 v, X( D: u' j7 }4 e* O2 e* ]6 S
# owner: root
9 B* g I/ J* q8 r8 r( O# group: root
* A; D, F" j* x+ @4 J7 u% Ouser::rw-2 o2 N: q8 O$ l, Y0 y
group::r--
* ^$ I/ X, w& d6 Q& C' {$ ^$ g. `other::r--
d+ W" L' ^ l) z$ U) x 9 C( E3 c2 a" z# O3 [3 U
|
' Y$ z! S) L7 \8 P. n5 }% g! B) c ^/ X5 z
1 Q" z+ n, }: |, K- P$ h; _0 j更改文件的ACL,添加一个用户的权限
; e* ^. u1 q+ A4 U' |# H2 [ | [root@localhost ~]# setfacl -m u:user1:r file1
% t5 u8 }' A% ^[root@localhost ~]# setfacl -m g:group1:r file1 #添加一个组[root@localhost ~]# getfacl file1
$ m2 T8 K4 d6 P- p( H% E
7 `6 o; e2 d4 |2 ~ |
3 `& d8 i1 Q3 X$ C; [2 T$ L% q- K3 `) j
) O" w0 R: @2 v. j! y. }
3 Z0 h* F& n+ a1 b # W9 g3 v( I9 z1 V" |
?& Z5 a% u# r( `( v5 w
2 u, w( `& a& V* n% |, d
. r& s' g% s2 I8 P/ }8 K |