Cambié accidentalmente el /varpropietario / grupo a mi nombre de usuario y luego lo cambié a raíz, pero no todos los /varpropietarios de las carpetas son raíz, entonces, ¿hay alguna forma de volver a cambiar el propietario / grupo de archivos / carpetas al estado predeterminado? ¿O al menos esos archivos / carpetas creados por paquetes?
permissions
chown
Sepehr
fuente
fuente

chowncomando? y hubiera sido cerradoRespuestas:
Similar a una de las respuestas anteriores, si tiene una copia del directorio con los permisos correctos denominados "var" en su directorio local, puede usar los siguientes dos comandos para restaurar los permisos en el directorio / var.
fuente
La respuesta más simple (y probablemente la más correcta) es "No puedes", pero si quieres probar, aquí hay un script bash que arreglará los permisos de los archivos bajo / var que pertenecen a paquetes .deb.
NOTAS
El script funciona generando una lista de paquetes instalados que tienen archivos en var, descargando esos paquetes y luego usándolos
dpkg-deb -cpara averiguar cuáles deberían ser los permisos.La parte más difícil fue escribir la función para convertir la cadena de permisos (como se muestra por
ls -lotar v) a un modo numérico octal, que incluye ajustes para setuid, setgid y bits fijos ... algunas cosas que serían fáciles de escribir con un buen algoritmo en, digamos, perl son demasiados problemas en bash, por lo que es más fácil simplemente forzarlo.Finalmente, el script está escrito para estar en modo "debug-mode" o "dry-run". Para que realmente cambie el propietario / grupo / permisos, comente o elimine las dos líneas con los
__EOF__marcadores de documento aquí.La secuencia de comandos podría, por supuesto, adaptarse fácilmente para corregir los permisos de archivos empaquetados en cualquier otro directorio, o en todos los directorios.
Esta secuencia de comandos habría sido mucho más simple si los archivos $ packagename.list en el
/var/lib/dpkg/infopropietario, grupo y permisos octales, así como el nombre de archivo ... pero no lo hacen.fuente
dpkg -S /var. Además, después de aplicar este script, uno debe verificardpkg-statoverride --list '/var/*'.dpkg -Ses lento (por eso escribídlocate). Buen punto sobredpkg-statoverride, sin embargo ... y el formato de salida es perfecto.Tú podrías.
Instale la misma distribución en otra máquina o máquina virtual, y use
chmod --referpara sincronizar permisos para/varfuente
La respuesta simple es "no puedes".
Pero ... si tiene un sistema de archivos como JFS que tiene un registro, puede restaurarlo con sus herramientas. Algunos administradores de paquetes le permiten volver a instalar sus paquetes y quizás de esta manera pueda recuperar el propietario de sus archivos.
Otra forma, pero más engorrosa, es que puede montar / var en otro dispositivo y que los programas recrearán el directorio que falta.
fuente