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...

Configure BASH, KSH, TCSH, ZSH Shell To Logout User Automatically After Idle Time

You can configure any Linux system to automatically log users out after a period of inactivity. Simply login as the root user and create a file called /etc/profile.d/autologout.sh , enter: # vi /etc/profile.d/autologout.sh Append the following code: TMOUT=300 readonly TMOUT export TMOUT Save and close the file. Set permissions: # chmod +x /etc/profile.d/autologout.sh Above script will implement a 5 minute idle time-out for the default /bin/bash shell. You can also create tcsh version as follows: # vi /etc/profile.d/autologout.csh Append the following code: set -r autologout 5 Save and close the file. Set permissions, enter: # chmod +x /etc/profile.d/autologout.csh Dealing with ssh clients SSH allows administrators to set an idle timeout interval. After this interval has passed, the idle user will be automatically logged out. Open /etc/ssh/sshd config file, enter: # vi /etc/ssh/sshd config Find ClientAliveInterval and set to 300 (5 minutes) as follows: ...