Diferença entre sudo -u e su -c

2

O seguinte está sendo executado a partir de uma conta com privilégios de sudo:

Eu tenho um usuário tomcat criado com o seguinte comando

sudo useradd -g tomcat -d /usr/local/tomcat -m -s /bin/false tomcat

Eu também tenho um usuário test criado com o seguinte comando

sudo adduser test

Eu tenho uma pasta temp e perms 777 estão definidos nesta pasta

chmod 777 temp

A seguir estão minhas observações:

## This works and I can see temp/a.txt being created
sudo -u tomcat touch temp/a.txt 

## Does not work. 
sudo su -c "touch temp/b.txt" tomcat

## works
sudo -u test touch temp/c.txt

## works
sudo su -c "touch temp/d.txt" test

Então, minha pergunta é exatamente o que está errado com o usuário do tomcat?

    
por iwekesi 26.03.2016 / 06:30

1 resposta

2

O shell do tomcat é / bin / false, você pode rodar com o su-as

sudo su -s /bin/bash -c "touch temp/b.txt" tomcat
    
por zb' 26.03.2016 / 09:07