En Linux disponemos de un sistema avanzado de gestión de privilegios, denominado ACL, o listas de control de acceso.
Con el comando ls -l /etc/passwd
podemos conocer entre otras cosas los permisos del archivo de sistema /etc/passwd. Podemos extraer información de los permisos con el comando getfacl y guardarlos en un archivo de respaldo. Si ademas usamos el parámetro -R obtendremos los permisos de directorios en forma recursiva.
Supongamos que necesitamos backupear los permisos de /var/www/html/misitio
, podemos hacer simplemente:
getfacl -pR /var/www/html/misitio > misitio.acl ## importante no poner la '/' final
El modificador -p no recorta la ‘/’ incial, para que el backup incluya la ruta absoluta. De esta forma no importa desde donde restauremos los permisos, simplemente desde donde guardamos el backup hacemos
sudo setfacl --restore=misitio.acl
y tendremos restaurados los permisos.