GNU/Linux >> Tutoriales Linux >  >> Linux

Configuración incorrecta de Chmod / 777. ¿Problemas?

Estaba intentando ejecutar chmod -R 777 ./ pero terminó escribiendo chmod -R 777 / y establezca 777 en toda mi máquina. ¿Qué puede ir mal? ¿Cómo puedo solucionarlo?

Respuesta aceptada:

¿Problemas? Sí, mucho. ¿Se puede arreglar? Por supuesto. ¿Más rápido que reinstalar? Probablemente no.

Mi recomendación es reinstalar. Mantenga una copia de seguridad del sistema existente y restaure la lista de paquetes y el contenido de los archivos en /etc y /var . Para /usr/local , probablemente pueda restaurar los permisos manualmente. Para /home y /srv , tendrá que restaurar los permisos de las copias de seguridad.

Si se trata de un sistema con múltiples usuarios locales, tenga en cuenta que hacer que algunos archivos sean legibles para todo el mundo ha revelado algunas cosas que deberían haber permanecido confidenciales.

  • Su lista de contraseñas ahora está comprometida:los usuarios locales han tenido acceso a la lista de contraseñas codificadas y podrían intentar forzarlas. Notifique a sus usuarios de esto.
  • Todos los datos privados de los usuarios (claves ssh, contraseñas almacenadas, correo electrónico, cualquier otra cosa que los usuarios consideren confidencial) han sido expuestos a todos los usuarios locales. Notifique a sus usuarios de esto.

Si realmente desea intentar reparar (más un ejercicio de aprendizaje que una ruta práctica de recuperación), primero restaure los permisos de algunos archivos. Tenga en cuenta que, si bien la mayoría de los archivos ahora están demasiado abiertos, a algunos les faltan los bits setuid necesarios. Estos son los pasos que debe seguir antes que nada. Tenga en cuenta que esta no es una lista exhaustiva, solo un intento de hacer que el sistema apenas funcione.

chmod -R go-w /
chmod 440 /etc/sudoers
chmod 640 /etc/shadow /etc/gshadow
chmod 600 /etc/ssh/*_key /etc/ssh*key   # whichever matches
chmod 710 /etc/ssl/private /etc/cups/ssl
chmod 1777 /tmp /var/tmp /var/lock
chmod 4755 /bin/su /usr/bin/passwd /usr/bin/sudo /usr/bin/sudoedit
chmod 2755 /var/mail /var/spool/mail

Luego deberá restaurar todos los permisos en todas partes. Para archivos bajo /usr , puede reinstalar los paquetes con uno de los siguientes comandos, según su distribución:

  • Si usa Debian, Ubuntu u otra distribución basada en APT, puede ejecutar apt-get --reinstall install
  • Si usa Arch Linux, puede ejecutar pacman -S $(pacman -Qq --dbpath /newarch/var/lib/pacman) --root /newarch --dbpath /newarch/var/lib/pacman , asumiendo que estás en un Live CD y tu instalación de Arch está montada en /newarch .

Para archivos bajo /etc y /var , eso no funcionará, ya que muchos de ellos quedarán como están:tendrás que replicar los permisos en una instalación que funcione. Para archivos bajo /srv y /home , tendrá que restaurar desde las copias de seguridad de todos modos. Como puede ver, también podría reinstalar.

Relacionado:¿Cómo eliminar todos los procesos propiedad de `user` en Centos 7?
Linux
  1. ¿Cómo hacer Chmod sin /usr/bin/chmod?

  2. ¿Establecer Umask para el sistema de archivos montado en Sshfs?

  3. ¿Usando variables de entorno en archivos Tmux.conf?

  4. Configurar CORS en archivos en la nube

  5. Archivos .o frente a archivos .a

Cómo cambiar recursivamente los permisos de archivos en Linux

¿Qué significa chmod 777?

Configuración de Dropbox para un servidor en la nube de Linux

Dar permiso de ejecución a los directorios pero no a los archivos

¿Es seguro chmod 777 todo?

¿Por qué chmod -R 777 / es destructivo?