setfacl
foi projetado para aceitar getfacl
saída como entrada. O que significa que você pode executar getfacl
, salvar a saída em um arquivo, fazer o seu trabalho e restaurar a ACL. O procedimento exato pode variar dependendo da sua plataforma. No Linux, no entanto:
# Take a peek at the current ACL
[root@vlp-fuger ~]# getfacl newFile
# file: newFile
# owner: root
# group: root
user::rw-
group::r--
group:provisor:rwx
mask::rwx
other::r--
# Backup ACL
[root@vlp-fuger ~]# getfacl newFile > newFile.acl
# Remove the group permission, add another that we'll later want to get rid of
[root@vlp-fuger ~]# setfacl -x g:provisor newFile
[root@vlp-fuger ~]# setfacl -m g:ihtxadm:r-x newFile
[root@vlp-fuger ~]# getfacl newFile
# file: newFile
# owner: root
# group: root
user::rw-
group::r--
group:ihtxadm:r-x
mask::r-x
other::r--
# Restore ACL to where it was
[root@vlp-fuger ~]# setfacl --restore=newFile.acl
# Resulting ACL
[root@vlp-fuger ~]# getfacl newFile
# file: newFile
# owner: root
# group: root
user::rw-
group::r--
group:provisor:rwx
mask::rwx
other::r--
Você também pode usar --set-file
no setfacl
que você usa para restaurar e defini-lo como -
se quiser canalizar a ACL antiga. Você também pode usar getfacl -R
para fazer backup das ACLs do diretório inteiro árvores.