¿Cómo se supone que los administradores deben leer el correo de root?

61

¿Cuál es la forma de Ubuntu para que los administradores del sistema reciban notificaciones del sistema, que generalmente toman la forma de correo electrónico enviado a la cuenta raíz?

Ejemplos de tales notificaciones son la salida de trabajos cron o notificaciones RAID degradadas .

En una instalación bastante predeterminada de Ubuntu 10.04, no puedo encontrar ninguna manera de que algo le suceda al correo raíz que no sea depositado /var/mail/root. ¿Cómo se supone que los usuarios 1. lo descubran y 2. lo lean cuando llegue?

Observo que en un verrugosa, el instalador añade root: myusernamea /etc/aliases. Entonces, el usuario que instaló el sistema si leyó el correo local. Entonces parece haber habido una regresión en algún lugar del camino. Aún así, esta no fue una solución completa, porque no se puede esperar que los usuarios de Ubuntu sepan que tienen correo local y deben configurar su cliente de correo para leerlo.

AGREGADO : dadas las respuestas actuales, un usuario del servidor debería poder hacer frente, siempre que esté al tanto del problema. Lo suficientemente justo. Pero considere J. Random Desktop User, que no sabe cómo usar una línea de comando y solo sabe cómo hacer clic en el icono del buzón para leer su correo. ¿Cómo puede ser notificado de que su sistema quiere decirle algo? (Permita una intervención única de un usuario más competente si eso es inevitable).

Gilles 'SO- deja de ser malvado'
fuente
1
Logré que KMail leyera mi correo local usando algunos hacks muy extraños que encontré, pero desde la actualización a la 11.10 estoy perdido
Dirk Hartzer Waldeck
Recientemente hice un largo tutorial sobre este mismo tema, aunque relacionado con Thunderbird: consulte askubuntu.com/questions/192572/…
@Mik Eso, con algo sobre la instalación de postfix en la parte superior, sería una buena respuesta aquí.
Gilles 'SO- deja de ser malvado'
@Gilles Gracias, aunque probablemente tendría que acortar o eliminar la respuesta en la otra pregunta, por lo que no habría duplicación.
@Mik No, estaría bien volver a publicar sustancialmente la misma respuesta (no exactamente, ya que aquí debería comenzar instalando un MTA). Las preguntas no están duplicadas: aquí hay respuestas que no funcionarían en la otra pregunta y viceversa. Sucede que a veces el 90% de una respuesta puede reciclarse para otra pregunta, está bien.
Gilles 'SO- deja de ser malvado'

Respuestas:

33

Animado por los comentarios de Gilles , he adaptado y ampliado otra respuesta:

(Estoy ejecutando Ubuntu 12.04.1 LTS, pero el proceso de configuración general debería aplicarse a Ubuntus anterior y futuro)


Lo primero que debe hacer es instalar un Agente de transferencia de correo (MTA) para que el correo se pueda transmitir a un Agente de usuario de correo (MUA) como Thunderbird. Esto solo es necesario porque estamos tratando con correo local y queremos poder enviarlo y recibirlo; con cuentas normales de tipo remoto de gmail, solo un agente de usuario como Thunderbirdes necesario.

Yo uso postfix, que en sí mismo es una alternativa sendmail, de las cuales hay versiones comerciales y de código abierto. Puede encontrar más información sobre las capacidades de postfix en el sitio oficial y los usuarios pueden encontrar que las listas de correo contienen información útil si surge algún problema.

Entonces, para instalar el programa, ejecute

sudo apt-get install postfix

Puede configurarlo cuando está instalado o rechazar la oferta y luego ejecutar

sudo dpkg-reconfigure postfix

para crear el archivo de configuración importante ( /etc/postfix/main.cfg). Si alguna vez edita manualmente este archivo, lo cual no es necesariamente recomendado, debe ejecutarlo sudo newaliasesy sudo service postfix restartluego aplicar los cambios.

Postfixes bastante sencillo de configurar, aunque puede tener algunas configuraciones particulares que desea aplicar. En la primera pantalla que ve a continuación, debe elegir la opción local para su correo:

ingrese la descripción de la imagen aquí

Luego, en la siguiente pantalla, elija su 'nombre de correo'; Suele ser lo mismo que /etc/hostname. Puede aceptar los valores predeterminados para la mayoría de las siguientes pantallas.

ingrese la descripción de la imagen aquí

Cuando se menciona /etc/aliasesal destinatario Root y Postmaster (como se indicó anteriormente), puede completar su nombre de usuario, pero asegúrese de verificar que su archivo de alias esté como debe ser leyendo la siguiente sección de este tutorial.

Primero, como también se recomienda en esta discusión , /etc/aliasesdebería ser así si está configurado correctamente:

postmaster:    root
root:   mike 

Si no es así, editarlo con sudo nano /etc/aliases, y luego ejecutar sudo newaliasesy sudo service postfix restartpor lo que la configuración se actualiza. Postfix'sLa función de alias permite que el correo se redirija, por lo que la configuración es muy importante para el resto de este tutorial.

Como también se señaló en el enlace anterior , debe crear un .forwardarchivo que contenga su nombre de usuario y host local: por ejemplo, mike@localhostpara que se le reenvíe el correo raíz. Para hacer esto, ingrese estos comandos:

sudo touch /root/.forward

y luego correr

sudo nano /root/.forward

para colocar su usuario: por ejemplo, mike@localhosten el archivo y guárdelo.

Además , descubrí que era necesario agregar su usuario al grupo de correo para que Thunderbirdpudiera acceder a los archivos de correo:

sudo adduser $USER mail

y luego cierre sesión e inicie sesión para que los cambios surtan efecto. No es necesario chownni chmodningún archivo, como algunos artículos pueden sugerir, y agregar su usuario al grupo de correo es una práctica mucho mejor y evita cualquier cambio directo de los permisos en el sistema de archivos raíz.


Ahora para la Thunderbirdconfiguración. Vaya a editar> configuración de la cuenta> acciones de la cuenta> agregar otra cuenta> seleccione Unix spoolmail y en la siguiente pantalla coloque su nombre de usuario en el primer cuadro y colóquelo yourusername@localhosten el segundo cuadro.

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Ahora, vaya a su nueva cuenta en la configuración de la cuenta y seleccione la configuración del servidor y seleccione el directorio local como /var/mailo /var/mail/username(si está configurado), como en la captura de pantalla a continuación.

ingrese la descripción de la imagen aquí

Según las instrucciones de este artículo , deberá configurar el servidor smtp si desea probar la cuenta enviando un correo electrónico root@localhosty luego haciendo clic en recibir correo en Thunderbird para recibirlo, ya que se está redirigiendo el correo raíz youruser@localhost.

Vaya a configuración de cuenta> servidor saliente y elija agregar uno nuevo. La configuración debe ser como en la siguiente captura de pantalla:

ingrese la descripción de la imagen aquí

Ahora, finalmente pruebe su cuenta redactando un correo root@localhosty luego, unos segundos más tarde, haga clic en obtener correo en su cuenta. Debería ver un correo electrónico como este:

ingrese la descripción de la imagen aquí

Algunos programas o registros deberán configurarse para que envíen correo a la raíz, pero eso se puede decidir a medida que lo necesite. Esperamos que este artículo sea útil, ya que no siempre es sencillo configurarlo Thunderbirdpara recibir correo local.

Comunidad
fuente
Funciona para 17.04, no toqué los grupos.
Artyom
21

Si se trata de un servidor, le sugiero encarecidamente alias root a una dirección de correo electrónico real para que entregue su correo electrónico a sus administradores. Es tan fácil como agregar

# Person who should get root's mail
root:   [email protected]

hasta el final de / etc / alias

Alternativamente, puede configurar el correo para que tenga un nombre de usuario local y luego, cuando inicie sesión, recibirá el mensaje "Tiene correo", que puede verificar usando el mailcomando o instalando pine / mutt / alpine o algo similar en ese servidor ..

Richard Holloway
fuente
1
Gracias, supongo que es una explicación suficientemente buena para un administrador del servidor. Pero, ¿cómo le explico esto al usuario de escritorio J. Random, que definitivamente no va a usar la línea de comando, pero quisiera saber si sus discos están fallando?
Gilles 'SO- deja de ser malvado'
1
Su pregunta comienza: "¿Cuál es la forma de Ubuntu para que los administradores del sistema reciban notificaciones del sistema ...". Pero de todos modos, para los usuarios de escritorio, vigilen los mensajes del sistema, podrían usar gnome-system-log para ver los registros (que ya está instalado en un escritorio predeterminado de Ubuntu como parte del paquete gnome-utils) o agregar "root: username "hasta el final de / etc / aliases. Estoy de acuerdo en que esta es una solución débil y tal vez se deba generar un error para volver a agregar esta característica, ya que no hay una forma de GUI para hacer esto en una instalación predeterminada de Ubuntu.
Richard Holloway
El alias para los administradores del servidor es el mejor. También puede sudo su - luego usar un cliente CLI. Pero si estás administrando seriamente una caja, crea el alias. Los usuarios normales no necesitan ver este correo. Tienen otros medios para enviar mensajes de notificación. Si lo desean, pueden crear el alias. Tiene mucho sentido que esto esté desactivado por defecto.
coteyr el
Una vez que haya configurado un alias, ¿hay alguna forma de reenviar todo el correo que ya existe?
John
No parece haber un /etc/aliasesarchivo. ¿Requiere eso ejecutar un servidor de correo para que se genere?
Thufir
11

Personalmente estoy usando un agente de correo llamado nullmailer. Actúa como un proxy de correo y transfiere todos los correos enviados a la raíz a una dirección de correo de su elección.

Debe establecer su configuración en archivos conf en / etc / nullmailer. Básicamente: proporcione la dirección y las credenciales del proveedor de correo y la dirección en la que desea recibir los correos electrónicos raíz.

Puedes instalarlo con

sudo apt-get install nullmailer

Puede obtener más información sobre su configuración aquí: http://jviz.research.iat.sfu.ca/wiki/index.php?title=HOWTO_Setup_Nullmailer

Little Jawa
fuente
+1 gracias por el enlace (y el pequeño concepto de MTA incorporado)
msw
2

Actualmente no hay ninguna notificación al usuario de que incluso existe un buzón local raíz, porque user! = rootSi necesita verificar el buzón, puede escribir lo siguiente: sudo mailpara iniciar la aplicación de correo en la raíz.

También puede iniciar sesión como root en ese servidor. Para desbloquear la contraseña de root simplemente escriba: sudo passwde ingrese una nueva contraseña para root.

Marco Ceppi
fuente
1
Con un usuario de prueba en 10.04 que usa la interfaz predeterminada basada en gnome, o la interfaz predeterminada basada en kde, o la interfaz predeterminada basada en lxde, no veo ningún tipo de notificación de que haya algo en /var/mail/$USERninguno.
Gilles 'SO- deja de ser malvado'
1

Una alternativa: archivo todo el correo raíz en algunos archivos y luego elimino el correo original.

Cron un script (aquí está la parte clave) -

#!/bin/bash
if `/usr/bin/mail -e`; then
   /usr/bin/mail --print 2>&1 > /tmp/email_${date +"%Y-%m-%d_%H.%M").log
   echo ‘d *’ | /usr/bin/mail -N > /dev/null
fi
exit 0

Esto mantiene las cosas ordenadas y puedo vigilarlo. Podría enviar un archivo de correo diario a una identificación de correo electrónico externa, etc.

Yo y
fuente