Minha senha está em um arquivo de configuração. Como evito o acesso de leitura a outros usuários no sistema?

3

Estou tentando usar ssmtp como meu aplicativo de correio de linha de comando, conforme proposto em esta resposta .

Um dos passos é colocar a senha da minha conta de e-mail em um arquivo /etc/ssmtp/ssmtp.conf . Como o arquivo tem permissão de leitura para todos os usuários, isso prejudica o sigilo de minha senha.

Como superar isso? Eu tentei remover a permissão de leitura para o grupo e outros, mas, em seguida, o ssmtp não funciona mais.

    
por bubble 03.12.2012 / 19:55

3 respostas

6

A resposta está contida no arquivo ssmtp.conf de amostra - ele lê o seguinte (retirado de link );

#### VERY IMPORTANT !!! If other people have access to this computer
# Your GMAIL Password is left unencrypted in this file
# so make sure you have a strong root password, and make sure
# you change the permissions of this file to be 640:
# chown root:mail /etc/ssmtp/ssmtp.conf
# chmod 640 /etc/ssmtp/ssmtp.conf"
    
por Clive van Hilten 02.01.2013 / 17:43
3

Tente invocar ssmtp como usuário comum e especifique um local de arquivo de configuração personalizado.

Na página de manual de ssmtp(8) :

-Cfile Use alternate configuration file.

Coloque seu arquivo de configuração em um local seguro em seu diretório pessoal, sem permissão de leitura para outras pessoas. Em seguida, execute ssmtp da seguinte forma:

user@host:~$ ssmtp -C/path/to/somesecuredir/ssmtp.conf [options]
    
por gertvdijk 03.01.2013 / 02:31
3

Acho que a melhor maneira é criar um usuário técnico para o ssmtp. Há um bom tutorial para isso no link

Aqui está um trecho dele, o passo 4,5,6,8,9 é o que você está procurando (os caminhos podem ser diferentes de acordo com a sua distribuição linux, eu os personalizo para o Debian agora):

[Etapa 4] Crie um usuário ssmtp:

sudo useradd -g nogroup -M -s /bin/false -c "sSMTP pseudo-user" ssmtp

Isso vai colocar o usuário ssmtp no grupo nogroup, não permitindo logins baseados em senha (-h).

[Etapa 5] Defina o proprietário e as permissões corretas no diretório de configuração sSMTP. Nós configuramos o bit setuid (veja chmod (1) para ter certeza de que os novos arquivos no diretório serão de propriedade do usuário ssmtp também:

cd /etc/ssmtp
chown ssmtp:wheel .
chmod 4750 .

[Etapa 6] Crie o arquivo de configuração sSMTP com as permissões corretas:

sudo cp ssmtp.conf.sample ssmtp.conf
sudo chown ssmtp:wheel . ssmtp.conf
sudo chmod 640 ssmtp.conf

[Etapa 8] Torne o executável ssmtp de propriedade do usuário ssmtp e marque-o como SUID:

chown ssmtp:nogroup /usr/sbin/ssmtp
chmod 4555 /usr/sbin/ssmtp

[Etapa 9] Execute alguns testes como um usuário sem privilégios:

$ cat /etc/ssmtp/ssmtp.conf
cat: /etc/ssmtp/ssmtp.conf: Permission denied
$ sendmail [email protected] < /etc/rc.conf
    
por agocska 07.01.2015 / 12:54