|
|
Linux setfacl/getfacl命令详解0 C, c3 s) N6 @
8 v5 @, K6 T' z3 C2 [setfacl,命令名,设置文件访问控制列表,即ACL规则。而Acl(Access Control List)就是访问控制列表 setfacl常见命令参数setfacl 2.2.51 -- 设定文件访问控制列表
8 |9 d; I3 h( Q+ f3 \ | 用法: setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ... 4 ]- g3 \: I4 B* r0 j* I& P
-m, --modify=acl 更改文件的访问控制列表
- c- D5 `4 |/ x0 L -M, --modify-file=file 从文件读取访问控制列表条目更改
0 e0 K. v3 I$ w1 B% ] -x, --remove=acl 根据文件中访问控制列表移除条目 ' @, I. B: B" f) E7 p; {4 X2 ^
-X, --remove-file=file 从文件读取访问控制列表条目并删除 , ]+ ~) m& W5 u" d- m1 F( _
-b, --remove-all 删除所有扩展访问控制列表条目 % X9 w3 q& G& N& P
-k, --remove-default 移除默认访问控制列表 + p& V4 e7 t; V7 R9 `' T
--set=acl 设定替换当前的文件访问控制列表 7 C. b: q& g. e e' _, j
--set-file=file 从文件中读取访问控制列表条目设定
) K' i8 i$ h: o: u6 v --mask 重新计算有效权限掩码 8 |( @' v2 L1 s1 n) M( Y. n7 L
-n, --no-mask 不重新计算有效权限掩码 ! m; S/ W. s" W1 A
-d, --default 应用到默认访问控制列表的操作 - z4 U' B8 o# m7 x' C7 q5 B
-R, --recursive 递归操作子目录 & S3 r: `3 W% j8 p
-L, --logical 依照系统逻辑,跟随符号链接
8 P8 I& w# J% V/ R- e -P, --physical 依照自然逻辑,不跟随符号链接
0 x( Q9 v( i/ \+ j9 a# B --restore=file 恢复访问控制列表,和“getfacl -R”作用相反
+ n9 C% L6 c3 o) Q --test 测试模式,并不真正修改访问控制列表属性
6 T4 T6 Y* x3 N0 V" O7 C) w -v, --version 显示版本并退出 ; n2 X, j, y- p" Z
-h, --help 显示本帮助信息 4 l8 d& r: e- h) R) [1 N4 @
6 T# i2 f# @' V; u- ?1 m
|
3 U7 P& Q" r# c4 C" R! ^7 S3 j1 Y) o! t3 q
getfacl常见命令参数9 U+ b: p* z) H8 V$ I5 ~
| getfacl 2.2.49 -- get file access control lists % ^: X9 E9 L+ z/ X6 m
Usage: getfacl [-aceEsRLPtpndvh] file ...
E" n* I: e0 g -a, --access display the file access control list only
5 Q) T4 [& E. Y# I; c7 S -d, --default display the default access control list only
0 J0 D- ?( z/ l+ z6 R/ p -c, --omit-header do not display the comment header . N: c/ h3 T% x9 k( b5 V& F5 r) j2 q4 t
-e, --all-effective print all effective rights
1 U% Y4 X, t6 J/ Q( U -E, --no-effective print no effective rights
7 b* c, o! Y: i8 x9 e1 x1 W! V -s, --skip-base skip files that only have the base entries 9 x6 o4 k! d$ M$ q7 ]7 }
-R, --recursive recurse into subdirectories G" {5 h5 s% O* q% @0 B4 k' p
-L, --logical logical walk, follow symbolic links
9 l9 C* @8 l0 c& X, B -P, --physical physical walk, do not follow symbolic links
* @6 m* |0 w3 c+ W+ y1 v, S -t, --tabular use tabular output format
6 V3 u* P/ x) G% t" G6 U -n, --numeric print numeric user/group identifiers
9 E& g2 d0 @( m: D# A% m1 R+ v0 x -p, --absolute-names don't strip leading '/' in pathnames 1 l) @ \: Z# \' m7 v
-v, --version print version and exit
) T( G. r5 Z# i* V' ?7 D -h, --help this help text
# s+ }5 G$ C# c0 Q1 i/ I
, t7 H% g% T7 L/ u% N6 o3 U! G | - w; o+ ~9 l7 x+ a% z- d* _! D r
2 `3 j {4 o8 r5 ^/ y9 B常用的命令展示获取文件的ACL [
2 u* p, {* B( q( l2 | | [root@learn ~]#vim a.txt 0 W" n* f" D+ }, }0 [
[root@learn ~]# getfacl a.txt4 P) ~( ~# M2 T6 _# |/ c
# file: a.txt3 N- M$ N1 a* N& E6 n
# owner: root$ p/ l3 u) i! p2 _+ e+ ^& l" B/ b
# group: root
" g6 ?% n! ^5 Xuser::rw-
+ {# Y4 t( |' s/ q9 Ngroup::r--0 o+ J# R, A; f" y( @5 O# f
other::r-- 3 C1 t) }" e7 X$ |
: p: h" S8 i5 S' J4 s+ ?, m& t
|
, n5 e( y0 h, w" K& z/ ]% Y
8 |! D' X* j/ y8 j d" e1 d3 j& v
3 _2 {* t7 g) ?/ I! o9 r2 D7 D更改文件的ACL,添加一个用户的权限
4 T7 b( L+ v/ m* [ | [root@localhost ~]# setfacl -m u:user1:r file1 ! T6 [2 R/ G' j. O& v" a; m$ X
[root@localhost ~]# setfacl -m g:group1:r file1 #添加一个组[root@localhost ~]# getfacl file1
3 U2 U) d u/ d: z5 q* R% v
X6 [9 }; B% H5 Z |
& U% o0 v/ A; t, z7 ~% V, e
( g1 ~4 z8 P* o
+ D$ x" R% A1 S0 \
" Z) j/ p P5 x7 Z
3 f+ E2 Y; s9 x
( o) ?% q" x& R
; M/ S, [- q) M3 ?
8 j6 R0 @' N9 @7 r, Y# E; s* i |
|