Restaurar permisos originales de un fichero

¿A quién no lo pasó alguna vez que cambió los permisos de un fichero o directorio completo sin querer y luego no sabía volver a los preestablecidos por el desarrollador?
Supongo que alguna vez ésto nos pasó a todos y no es una buena experiencia. Así que para intentar subsanar este tipo de fallos, hoy os presento un truco muy simple, para sistemas Red Hat y derivados, que permite restablecer los valores originales de forma muy sencilla. Ya bien sea para un fichero concreto o para todo un directorio, gracias a rpm --setperms volver a poner los permisos originales nunca fue tan sencillo.
Vamos a ver el comando en funcionamiento, que es la mejor forma de entender de lo que hablamos.
Partimos de estos permisos originales de un fichero cualquiera.

shell> ls -l /etc/ssh/ssh_config
  -rw-r--r--. 1 root root 2047 may 15  2012 /etc/ssh/ssh_config
y se los cambiamos por estos otros,
shell> chmod 777 /etc/ssh/ssh_config
shell> ls -l /etc/ssh/ssh_config
  -rwxrwxrwx. 1 root root   2047 may 15  2012 /etc/ssh/ssh_config
Como vemos, una equivocación no muy común, pero que en ese fichero puede traer consecuencias inesperadas. Aunque en el ejemplo es muy sencillo volver a los permisos originales, entre otras cosas por que sabemos a que volver, imagina que esto mismo se hiciera recursivo y afectase a todo /etc.
Lo que nos interesa es ver cómo volver a los valores originales del paquete sin tener que hacerlo manualmente. Para ello,
shell> rpm --setperms openssh-clients-5.3p1-81.el6.x86_64
shell> ls -l /etc/ssh/ssh_config
  -rw-r--r--. 1 root root   2047 may 15  2012 /etc/ssh/ssh_config
Y lo único que necesitas saber es el nombre del paquete que contiene el fichero o ficheros que has modificado, para lo cual,
shell> rpm -qf /etc/ssh/ssh_config
  openssh-clients-5.3p1-81.el6.x86_64

La entrada Restaurar permisos originales de un fichero la puedes leer el El mundo en bits.


1 comentario :

  1. ¡Muy bueno!

    Para restaurar todos los paquetes, se puede utilizar el parámetro -a y para restaurar el propietario se puede usar el parámetro: --setugids

    Más info: http://www.sysadmit.com/2016/10/linux-restaurar-permisos-de-un-paquete.html

    ResponderEliminar

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios