sudo: no se puede stat / etc / sudoers: No existe tal archivo o directorio - El archivo existe

12

Soy una de las pocas personas que administra un servidor de juegos. El servidor actualmente está ejecutando Ubuntu 14.04, que se instaló hace solo 3 semanas.

Todo estaba funcionando bien hasta hace unos días, hemos tenido algunos problemas. Sospecho que alguien hackeó nuestro servidor SSH y logró estropear seriamente algo.

Cuando trato de ejecutar el comando sudome sale el siguiente error:

sudo: unable to stat /etc/sudoers: No such file or directory

Así que lo primero que se piensa es que el archivo se eliminó y solo necesita ser recreado, sin embargo, ls /etc/muestra que el archivo sudoers ya existe. Además, cuando se edita con nano (mi editor preferido) se hace evidente que el archivo está completamente intacto y formateado correctamente.

ls -ltambién muestra que el archivo sudoers tiene los permisos -r--r----para la raíz del usuario y la raíz del grupo, que según la investigación debería ser completamente suficiente para que sudo pueda leer el archivo, para asegurarse de que temporalmente le di el archivo -rwxrwx---para la raíz raíz (estaban usando tmux para la sesión control y ya teníamos una sesión como root), todavía falló.

Entonces, el archivo existe, el contenido dentro de él es correcto, tiene los permisos adecuados. Qué más podría ser. Miré un poco a las personas que han tenido problemas similares aquí en askubuntu.com, una solución que me pareció esperanzadora fue hacer una copia de seguridad del archivo sudoers y luego usar: apt-get purge sudo apt-get install sudo

Y luego reemplace el nuevo archivo sudo con el anterior. Esto no funcionó desafortunadamente. Para descartar aún más que el archivo sudoers no tenía errores, probé la solución nuevamente e intenté ejecutar solo sudocon el archivo sudoers recién creado y obtuve el mismo error.

-------- EDITAR --------

Para cualquier persona interesada en lo que contiene el supuesto archivo sudoers no existente, aquí hay una versión filtrada (nombres de usuario filtrados) por solicitud: http://paste.ubuntu.com/7781967/

D3_JMultiply
fuente
1
Usando paste.ubuntu.com ¿podría enviar el contenido del archivo sudoers (es posible que desee eliminar nombres de usuario para mayor seguridad - si su Sever hizo ser hackeado cambiar las contraseñas)
Wilf
Las contraseñas ya se han cambiado. Eso no es parte de la pregunta. La publicación se ha actualizado con el enlace paste.ubuntu.com.
D3_JMultiply
1
Según la página de manual de sudoers El signo de número ('#') se usa para indicar un comentario (a menos que sea parte de una directiva #include o a menos que ocurra en el contexto de un nombre de usuario y esté seguido por uno o más dígitos, en en cuyo caso se trata como un uid). En su archivo sudoers falta un # en la directiva incluida. Intente agregar # y veamos si el comando sudo funciona.
Lety
No Eso no solucionó el problema. Como dije en el OP, cambié el nombre del archivo sudoers y reinstalé sudo, lo que creó una versión recién instalada del archivo sudoers. Y ese archivo tampoco funcionó. Sé que el problema no es el contenido del archivo en sí. Gracias de todos modos :)
D3_JMultiply

Respuestas:

9

Okay. He solucionado mi problema. Y como pensé, no era el archivo.


Solución

Tenía hasta hace 10 minutos, solo noté que sudo no estaba funcionando. Como la mayor parte de mi trabajo se realiza en tmux, nunca noté mi cuenta de usuario.

Al iniciar sesión por primera vez, obtendría el siguiente error:

-bash: /etc/profile Permission denied

Y me pondría a: I have no name@<ipaddress>como mi cuenta.

Así que investigué un poco sobre este tema y encontré más resultados que el otro. Incluyendo un resultado que fue una combinación perfecta para mi situación, como se encuentra aquí .

El problema era que a mi carpeta / etc / le faltaba el permiso de ejecución en el grupo. Ejecutando: chmod g+x /etcsolucionó el problema después de cerrar sesión y volver a iniciarla.


Gracias

Gracias por la ayuda en los comentarios, las sugerencias que dio fueron valiosas y ayudaron a reducir aún más el problema. Al final fue mucho más simple de lo que parecía.

D3_JMultiply
fuente