Não é possível executar o script, que envia os resultados por e-mail, como superusuário. (retorna: send-mail: 550 5.1.0 Não é nosso cliente)

1

Eu tenho tentado depurar isso por dois dias agora, sem sucesso. Este é o script que estou tentando executar:

#!/bin/bash
emailaddress='[email protected]'
output='sudo rsync -av --delete /media/sync/1/backup /media/sync/2/'
echo $output|mail -s "backup_rsync.sh: backup_rsync run" $emailaddress;

Eu posso obter os resultados desejados ao executá-lo, diretamente da linha de comando ou como um trabalho cron, como um usuário comum. É por isso que não acho que haja algo errado com o script em si. O script tem as seguintes permissões:

-rwxr--r-- 1 pi pi 190 Jan  4 08:52 scripts/backup_rsync.sh

O problema é quando tento rodar o mesmo script (arquivo diferente localizado em / root) usando o sudo, ou mesmo logado como root, recebo os seguintes resultados:

send-mail: 550 5.1.0 Not our Customer

Estas são as permissões para o script localizado em / root:

-rwxr--r-- 1 root root 190 Jan 4 13:43 /root/backup_rsync.sh

Meu sistema operacional é a versão mais recente do Raspbian no meu RaspberryPi Modelo B +. Eu instalei o ssmtp heirloom-mailx para lidar com email. Meu arquivo ssmtp.conf é o seguinte:

#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
[email protected]

# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.comcast.net:587

# Where will the mail seem to come from?
rewriteDomain=comcast.net

# The full hostname
hostname=raspberrypi

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES

UseTLS=Yes
UseSTARTTLS=Yes

AuthUser=my_login
AuthPass=my_password

Onde "my_login" e "my_password" estão listados acima são apenas preenchimentos. No arquivo real eu tenho a informação correta inserida e, como eu disse, funciona quando eu envio e-mail como usuário comum. Qualquer ajuda seria apreciada. Deixe-me saber se mais informações são necessárias.

Editado abaixo para mais informações

Estas são as linhas do meu crontab de raiz:

38 9 * * * /root/backup_rsync.sh >> /tmp/mylog 2>&1
38 9 * * * touch /tmp/my_cronjob_ran1

Como você pode ver, estou tentando depurar essa coisa. Ele produz o arquivo "my_cronjob_ran1", então eu sei que o crontab raiz está rodando. No arquivo "mylog" é onde eu recebo a mensagem "send-mail: 550 5.1.0 Not our Customer".

Aqui está a linha do meu usuário crontab (aquela que está produzindo os resultados desejados):

00 03 * * * /home/pi/scripts/backup_rsync.sh

Edição final. Eu descobri o problema.

Eu verifiquei o / var / log / syslog e vi essas mensagens quando tentei mais alguns testes:

Jan  5 20:07:15 raspberrypi sSMTP[3507]: Creating SSL connection to host
Jan  5 20:07:16 raspberrypi sSMTP[3507]: SSL connection using RSA_AES_128_CBC_SHA1
Jan  5 20:07:17 raspberrypi sSMTP[3507]: Sent mail for [email protected] (221 2.0.0 resomta-ch2-04v.sys.comcast.net comcast closing connection) uid=1000 username=pi outbytes=494

Jan  5 20:07:31 raspberrypi sSMTP[3513]: Creating SSL connection to host
Jan  5 20:07:31 raspberrypi sSMTP[3513]: SSL connection using RSA_AES_128_CBC_SHA1
Jan  5 20:07:32 raspberrypi sSMTP[3513]: Sent mail for [email protected] (221 2.0.0 resomta-ch2-01v.sys.comcast.net comcast closing connection) uid=1000 username=pi outbytes=490

Jan  5 20:09:44 raspberrypi sSMTP[3532]: Creating SSL connection to host
Jan  5 20:09:45 raspberrypi sSMTP[3532]: SSL connection using RSA_AES_128_CBC_SHA1
Jan  5 20:09:46 raspberrypi sSMTP[3532]: 550 5.1.0 Not our Customer

As 6 primeiras linhas foram eu enviando uma mensagem do meu login (pi). As últimas três linhas foram eu tentando enviar um email de (root) novamente. Isso me disse que estava fazendo uma conexão com a Comcast e a mensagem de erro que eu estava recebendo era deles. Então eu abri o Thunderbird na minha máquina Windows e tentei enviar uma mensagem para [email protected] (do meu endereço de e-mail regular). Então eu peguei esse erro no Thunderbird:

An error occurred while sending mail. The mail server responded: 5.1.1 Not our Customer. Please check the message recipient [email protected] and try again.

Então, isso confirmou que a mensagem estava vindo da Comcast. O que eu fiz para corrigir o problema foi que eu mudei essa linha (rewriteDomain = comcast.net) no meu arquivo ssmtp.conf para isso (rewriteDomain = gmail.com). Agora tudo funciona como deveria. Presumo que seja porque a Comcast não tem como saber se é um endereço de e-mail válido, apenas que gmail.com é um domínio válido.

Obrigado a todos que viram isso e tentaram ajudar. Se eu tiver dúvidas, ou se alguém tiver algo a acrescentar, por favor me avise.

    
por draugr 04.01.2015 / 21:48

0 respostas