comando de correo siempre apuntando al archivo de root

comando de correo siempre apuntando al archivo de root

Estoy intentando configurar un servidor de correo postfix. Se puede acceder al correo de la raíz. Pero mientras reviso el correo para usuarios no root, aparece el siguiente error

/var/spool/mail/root: Permiso denegado

El archivo /var/spool/mail/$USERestá presente para el usuario respectivo, pero aún así el comando de correo hace referencia al archivo raíz.

Salida de postconf -n

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
html_directory = no
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mail_spool_directory = /var/spool/mail
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
mydomain = domain.in
myhostname = server.domain.in
mynetworks = 166.64.32.22, 127.0.0.0/8
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
unknown_local_recipient_reject_code = 550

Respuesta1

Entonces, el problema aquí no está relacionado en absoluto con postfix. Postfix en el lado del servidor se comporta correctamente pero el cliente de correo se comporta mal.

Por defectomaildominioutilizará $MAILuna variable de entorno para determinar la ubicación del buzón (a menos que lo indique explícitamente mediante -fel parámetro). En CentOS bash shell, el valor predeterminado de la variable $MAIL es /var/spool/mail/$USER. Fragmento de man mail.

CORREO

Se utiliza como buzón del usuario, si está configurado. De lo contrario, se utiliza un valor predeterminado dependiente del sistema. Puede ser una cadena protocolo:// (consulte el comando de carpeta para obtener más información).

OP afirma en el comentarioque usó su myuserdesde el usuario root para cambiar de usuario en el shell. Desafortunadamente, esto tiene algún efecto. La variable $MAIL todavía apunta a /var/spool/mail/root. Por lo tanto, la ruta del buzón no ha cambiado, pero el privilegio se ha reducido al usuario no root.

Para solucionar el problema, puede utilizar su -l myuserpara cambiar de usuario en el shell. Fragmento de man su.

-, -l, --iniciar sesión

hacer del shell un shell de inicio de sesión

Sin -l, la variable de entorno no cambiará por sí sola.

Conclusión: ambos software (postfix y bsd-mailx) se comportan correctamente. El problema es el OP que no establece la variable de entorno antes de cambiar de usuario.

información relacionada