Como los usuarios han notado antes, usar "chmod 0440 / etc / sudoers" cuando el archivo sudoers.d / README tiene el chmod incorrecto NO FUNCIONA.
kentfx
¿Está sugiriendo que cuando el problema está en los permisos /etc/sudoers.d/README, que el error todavía puede decir sudo: /etc/sudoers is mode 0777, should be 0440?
Cuando aparezca la pantalla de selección de arranque de GRUB, elija Modo de recuperación. (Si no aparece, presione la Shifttecla cuando vea el cargador GRUB en la parte inferior).
Debería aparecer un terminal negro, en este punto puede ejecutar este comando (debe tener privilegios de root):
chmod 0440 /etc/sudoers
Alternativamente
Tendrá que colocar Ubuntu en un LiveCD, arrancar en el LiveCD, montar su Partición Ubuntu en el Disco Duro (Abra un navegador de archivos, como Nautilus, y haga clic en su Partición Ubuntu; o haga clic en Lugares -> "Partición xxGB / Su Partición Ubuntu ").
Luego, abra una terminal dentro de la sesión de LiveCD y escriba estos dos comandos:
cd /media/<name of permanent ubuntu partition>/etc
sudo chmod 0440 sudoers
Problemas extra
Si hay algún error (como se publica a continuación), siga el mensaje de error y ajuste cada archivo en consecuencia utilizando uno de los dos pasos anteriores:
sudo apt-get update sudo: /etc/sudoers.d/README es modo 0777, debe ser 0440 sudo: / var / lib / sudo de escritura por el no propietario (040777), debe ser modo 0700 [sudo] contraseña para
Ambos comandos se deben usar adecuadamente con los pasos descritos anteriormente. Cambiarán los permisos de archivo asociados con ese archivo. 0440 le dará al propietario (root) y al grupo permisos de lectura y 0700 le dará al propietario (root), leer, escribir y ejecutar permisos.
Puedo usar el comando sudo pero limitado. sudo apt-get update sudo: /etc/sudoers.d/README is mode 0777, should be 0440 sudo: /var/lib/sudo writable by non-owner (040777), should be mode 0700 [sudo] password for
user20698
@ Alex: ESC es para GRUB legacy ¿verdad? Se debe presionar Shift para GRUB2.
Lekensteyn
@ user20698: no necesita sudoel primero, el segundo debe hacerse desde un CD en vivo.
Lekensteyn
Si sudoers es 0777, ¿no debería el usuario poder ejecutar chmod 0440 /etc/sudoerssin sudo ya que todos pueden escribir en sudoers?
Seppo Erviälä
2
@Seppo: no, solo el propietario de un archivo puede cambiar los permisos del archivo.
Lekensteyn
16
sudoestá roto en esta situación, pero pkexec(la interfaz de línea de comandos de PolicyKit ) todavía funciona, por lo que puede solucionarlo con un solo comando. No es necesario reiniciar.
pkexec chmod 0440 /etc/sudoers
Esto supone que PolicyKit está instalado. Si se trata de un sistema de escritorio (en lugar de un servidor sin GUI), lo es.
¿Por qué estás chmodenviando algunos archivos a 440otros 0440? ¿No deberías usar 0440uniformemente? ¿Y por qué está cambiando los permisos /etc/sudoers.d/READMEcuando usa el pkexeccamino, pero no de otra manera? ¿Y qué hay de otros posibles archivos en /etc/sudoers.d?
Eliah Kagan el
1
¿Qué hiciste para obtener estos errores?
Si lo hizo: sudo chmod -R 777 /etcnecesita un Live CD para reparar esto.
Inicie en un Live CD y seleccione "Pruébelo"
Monta tu partición de Ubuntu (o la partición que contiene /etcsi has puesto /etcuna partición separada). Esto se puede hacer usando un navegador de archivos como Nautilus o el menú Lugares
Determine la carpeta de su partición Ubuntu, puede enumerar el contenido de las particiones montadas mediante ls -l /media. Posiblemente se llama ubuntuo disk. En los próximos pasos, asumiré ubuntu.
En la Terminal, establece permisos restrictivos por defecto:
sudo find /media/ubuntu/etc -type f -exec chmod g-wx,o-rwx {} \;
sudo find /media/ubuntu/etc -type d -exec chmod g-w,o-rwx {} \;
A continuación, use el Live CD como punto de referencia para restaurar los permisos de archivo. El siguiente comando cambiará los permisos de archivo para /etc/media/ubuntuusar la /etccarpeta en el Live CD como punto de referencia. Solo cambiará los permisos en los archivos ( -type f) y directorios ( -type d) en el mismo sistema de archivos ( -xdev). Cualquier error se escribe en ~/errors.logErrores como "archivo no encontrado" indica que hay un archivo instalado en el sistema, pero que no se encuentra en el Live CD. El comando del paso 5 debería establecer los permisos correctos para ello, pero para obtener los mejores resultados, será mejor que reinstales los paquetes.
cd /media/ubuntu && sudo find etc -xdev \( -type f -o -type d \) -f -exec chmod --reference=/{} {} \; 2>~/errors.log
Ahora seguro en ~/errors.logalgún lugar (como http://paste.ubuntu.com/ ) para que pueda agregarlo como comentario a esta respuesta si tiene algún problema con las aplicaciones.
En Ubuntu, primero puedes pulsar Ctrl+ Alt+ Tque abre la terminal. Después de eso, puede copiar y pegar el siguiente comando con Ctrl+ Cy pegar en la terminal con Ctrl+ Shift+ V.
/etc/sudoers.d/README
, que el error todavía puede decirsudo: /etc/sudoers is mode 0777, should be 0440
?Respuestas:
Primera opción
Siguiendo esta publicación :
Debería aparecer un terminal negro, en este punto puede ejecutar este comando (debe tener privilegios de root):
Alternativamente
Tendrá que colocar Ubuntu en un LiveCD, arrancar en el LiveCD, montar su Partición Ubuntu en el Disco Duro (Abra un navegador de archivos, como Nautilus, y haga clic en su Partición Ubuntu; o haga clic en Lugares -> "Partición xxGB / Su Partición Ubuntu ").
Luego, abra una terminal dentro de la sesión de LiveCD y escriba estos dos comandos:
Problemas extra
Si hay algún error (como se publica a continuación), siga el mensaje de error y ajuste cada archivo en consecuencia utilizando uno de los dos pasos anteriores:
Arregle siguiendo a través de:
Ambos comandos se deben usar adecuadamente con los pasos descritos anteriormente. Cambiarán los permisos de archivo asociados con ese archivo. 0440 le dará al propietario (root) y al grupo permisos de lectura y 0700 le dará al propietario (root), leer, escribir y ejecutar permisos.
fuente
sudo apt-get update sudo: /etc/sudoers.d/README is mode 0777, should be 0440 sudo: /var/lib/sudo writable by non-owner (040777), should be mode 0700 [sudo] password for
sudo
el primero, el segundo debe hacerse desde un CD en vivo.chmod 0440 /etc/sudoers
sin sudo ya que todos pueden escribir en sudoers?sudo
está roto en esta situación, peropkexec
(la interfaz de línea de comandos de PolicyKit ) todavía funciona, por lo que puede solucionarlo con un solo comando. No es necesario reiniciar.Esto supone que PolicyKit está instalado. Si se trata de un sistema de escritorio (en lugar de un servidor sin GUI), lo es.
fuente
Arranque en modo de recuperación, elija el shell raíz y:
O si no desea reiniciar, puede usar esta alternativa:
cambiará el permiso. Pruébalo funcionará.
fuente
chmod
enviando algunos archivos a440
otros0440
? ¿No deberías usar0440
uniformemente? ¿Y por qué está cambiando los permisos/etc/sudoers.d/README
cuando usa elpkexec
camino, pero no de otra manera? ¿Y qué hay de otros posibles archivos en/etc/sudoers.d
?¿Qué hiciste para obtener estos errores?
Si lo hizo:
sudo chmod -R 777 /etc
necesita un Live CD para reparar esto./etc
si has puesto/etc
una partición separada). Esto se puede hacer usando un navegador de archivos como Nautilus o el menú Lugaresls -l /media
. Posiblemente se llamaubuntu
odisk
. En los próximos pasos, asumiréubuntu
.En la Terminal, establece permisos restrictivos por defecto:
A continuación, use el Live CD como punto de referencia para restaurar los permisos de archivo. El siguiente comando cambiará los permisos de archivo para
/etc/media/ubuntu
usar la/etc
carpeta en el Live CD como punto de referencia. Solo cambiará los permisos en los archivos (-type f
) y directorios (-type d
) en el mismo sistema de archivos (-xdev
). Cualquier error se escribe en~/errors.log
Errores como "archivo no encontrado" indica que hay un archivo instalado en el sistema, pero que no se encuentra en el Live CD. El comando del paso 5 debería establecer los permisos correctos para ello, pero para obtener los mejores resultados, será mejor que reinstales los paquetes.~/errors.log
algún lugar (como http://paste.ubuntu.com/ ) para que pueda agregarlo como comentario a esta respuesta si tiene algún problema con las aplicaciones.fuente
En Ubuntu, primero puedes pulsar Ctrl+ Alt+ Tque abre la terminal. Después de eso, puede copiar y pegar el siguiente comando con Ctrl+ Cy pegar en la terminal con Ctrl+ Shift+ V.
fuente
Para mí, tuve que agregar un paso más a las
pkexec
sugerencias, por esto , tuve la suerte de tener 2 sesiones ssh cuando cometí el estúpido error:echo $$
para obtener PIDpkttyagent --process PID_FROM_STEP2
en la terminal 2pkexec chmod 0440 /etc/sudoers
pkexec chown root:root /etc/sudoers
fuente