Skip to main content

Backup das permissões de arquivos e pastas no Linux

Recentemente precisei fazer backup das permissões de arquivos e pastas no Linux, pois precisava para caso ocorresse alguma coisa errada nas permissões que eu estava mexendo. Então encontrei dois comandos para resolver isso, um para fazer o backup e outro para restaurar. O legal é que ele preserva tudo, tanto as permissões quanto o dono e o grupo, dessa forma é possível fazer um backup completo deles em um simples arquivo texto e restaurá-los depois.

O comando responsável para o backup é o getfacl e podemos utilizar a seguinte sintaxe:

getfacl -Rp /home/rodrigo/Desktop > /home/rodrigo/permissoes_desktop.txt

A opção -R (maiúsculo) é para fazer backup das permissões recursivamente, ou seja, nas pastas e subpastas. O -p (minúsculo) é para preservar o caminho absoluto, caso contrário ele não colocará a barra inicial ( / ). Nesse caso estamos direcionando para um arquivo.

O arquivo gerado é um arquivo de texto normal, pode até ser utilizado para consultas com um simples cat ou vim. Como exemplo, vou exibir apenas o início do arquivo.

head -n 13 /home/rodrigo/permissoes_desktop.txt# file: /home/rodrigo/
# owner: rodrigo
# group: rodrigo
user::rwx
group::---
other::---
# file: /home/rodrigo//.bash_logout
# owner: rodrigo
# group: rodrigo
user::rw-
group::r--
other::r--

Para fazer a restauração das permissões, o comando é o setfacl e tem essa estrutura:

setfacl --restore=/home/rodrigo/permissoes_desktop.txt -R

O -R (maiúsculo) faz o mesmo que o do comando anterior, só que no caso trata-se de restauração recursiva. O --restore=/home/rodrigo/permissoes_desktop.txt indica o caminho do arquivo que foi criado e que contém as informações de permissão.

O comando não retorna nenhuma resposta de sucesso, ou seja, se aparentemente nada acontecer, então a restauração funcionou. Caso queira, pode verificar com o comando ls e ele mostrará as permissões e os donos do arquivo:

ls -l /home/rodrigo/Desktop

Comments

Popular posts from this blog

Installing PIP in OpenBSD 5.6

pip included with Python Python 2.7.9 and later (on the python2 series), and Python 3.4 and later include pip by default [1], so you may have pip already. Install pip To install pip, securely download get-pip.py: #curl --remote-name https://bootstrap.pypa.io/get-pip.py Then run the following (which may require administrator access): #python get-pip.py If setuptools (or distribute) is not already installed, get-pip.py will install setuptools for you. To upgrade an existing setuptools (or distribute), run pip install -U setuptools.

Instalando Packet Tracer 6.3 no Fedora 23

Vamos começar... 1. Baixe o arquivo desse link:     http://www.deltaeridani.com/openssl-lib-compat-1.0.0i-1.fc20.i686.rpm 2. Baixe o Packet Tracer 6.3 do site netacad.com 3. Instale as seguintes dependencies:     dnf install libICE.i686 libpng libSM.i686 libX11.i686 libXext.i686 libXi.i686 libXrandr.i686 fontconfig.i686 libgcc.i686 glib.i686 compat-libstdc++-33.i686 libstdc++.i686 glib2.i686 libgthread-2.0.so.0 libglib-2.0.so.0 4. Instale usando o dnf o pacote que voce baixou no item 1:     dnf install openssl-lib-compat-1.0.0i-1.fc20.i686.rpm 5. Instalando o Packet Tracer 6.3:     tar xfvz PacketTracer63_linux.tar.gz     cd PacketTracer63/     sudo su     ./install     exit 6. Criando o atalho na área de trabalho ( Usando seu usuário padrão )     cp /opt/pt/art/app_student.png /usr/share/icons/     emacs /home/usua...

Using GnuPG for SSH authentication

“Using GnuPG for SSH authentication” may refer to two distinct things: making the GnuPG agent (which is normally used to cache the passphrase of your OpenPGP key) to also act as a SSH agent, to cache the passphrase of your SSH key; using a key pair of your OpenPGP keyring as a SSH key pair. In this note, I will explain how to do this in GnuPG 2.1 (“modern”).