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

Linux setfacl/getfacl命令详解

[复制链接]

1

主题

0

回帖

12

积分

管理员

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

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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