Cambié accidentalmente el /var
propietario / grupo a mi nombre de usuario y luego lo cambié a raíz, pero no todos los /var
propietarios 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
chown
comando? 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 -c
para 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 -l
otar 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/info
propietario, 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 -S
es 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 --refer
para sincronizar permisos para/var
fuente
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