Linux 文件用户组权限的备份和恢复
2018-04-03
大连
晴
/linux/2018/04/03/acl.html
linux
getfacl
和 setfacl
是用来备份和恢复文件权限的命令。在解压和拷贝文件时,可以用来解决文件或文件夹权限被改动的问题。例如执行下面的命令可以为指定文件/文件夹创建一份用户组和权限的 snapshot:
getfacl -R /path/to/folder > permissions.acl
以上命令会备份出 folder 文件夹自身和其中所有文件的用户组和权限(也包括 folder 子文件夹),-R
参数用于指示深度遍历所有层级的子文件夹和文件。
现在我们就有了一个 permissions.acl
文件,其中存储了 folder 的用户组权限,格式如下:
$ head -n 20 ./permissions.acl
# file: /path/to/folder
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
# file: /path/to/folder/test.conf
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
...
如果我们丢失了 folder 的用户组和权限,可以使用下面的命令恢复:
setfacl --restore=permissions.acl
注意:如果在备份时使用的是绝对路径,那么 permissions.acl
文件中会引用文件和文件夹的绝对路径,在恢复时则无须另指定恢复的路径(上面的 permissions.acl
);但如果备份时使用的是相对路径(例如 getfacl -R ./folder > permissions.acl
),则需要先进入要恢复的目录中再进行恢复,相对路径的 permissions.acl
示例如下:
$ head -n 20 ./permissions.acl
# file: .
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
# file: test.conf
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
...
关于作者
最近更新: