以下两个命令getfacl
和setfacl
是非常方便的工具,因为它们允许Linux管理员拍摄任何目录的任何目录设置的快照,如果需要,则需要递归重新应用这些权限。
让我们看看以下例子:
$tree -p . ├── [dr---w----] dir1 │ └── [drwxr-xr-x] dir2 │ ├── [dr--r-xrw-] dir3 │ └── [---x--x--x] file1 ├── [drwxr-xr-x] dir4 │ └── [-rw-r--r--] file3 └── [-rwxrwxrwx] file2 4 directories, 3 files
使用“getfacl命令”以备份每个文件和目录的所有权限:
$getfacl -R . > permissions_backup
上面的命令将保存所有权限到permissions_backup
文件中。
# cat permissions_backup # file: . # owner: jack # group: jack user::rwx group::r-x other::r-x # file: file2 # owner: jack # group: jack user::rwx group::rwx other::rwx # file: dir4 # owner: jack # group: jack user::rwx group::r-x other::r-x # file: dir4/file3 # owner: jack # group: jack user::rw group::r- other::r- # file: dir1 # owner: jack # group: jack user::r- group::-w other::-- # file: dir1/dir2 # owner: jack # group: jack user::rwx group::r-x other::r-x # file: dir1/dir2/dir3 # owner: jack # group: jack user::r- group::r-x other::rw # file: dir1/dir2/file1 # owner: jack # group: jack user::--x group::--x other::--x
接下来,我们更改所有权限:
$chmod -R 777 . $tree -p . ├── [drwxrwxrwx] dir1 │ └── [drwxrwxrwx] dir2 │ ├── [drwxrwxrwx] dir3 │ └── [-rwxrwxrwx] file1 ├── [drwxrwxrwx] dir4 │ └── [-rwxrwxrwx] file3 ├── [-rwxrwxrwx] file2
使用“SetFacl”命令恢复以前的权限设置:
$setfacl --restore=permissions_backup $tree -p . ├── [dr---w----] dir1 │ └── [drwxr-xr-x] dir2 │ ├── [dr--r-xrw-] dir3 │ └── [---x--x--x] file1 ├── [drwxr-xr-x] dir4 │ └── [-rw-r--r--] file3 ├── [-rwxrwxrwx] file2
日期:2020-07-07 20:57:14 来源:oir作者:oir