找回密码
 注册
查看: 3223|回复: 0

Linux setfacl/getfacl命令详解

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2020-6-21 10:51:02 | 显示全部楼层 |阅读模式
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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 04:33 , Processed in 0.016833 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表