Ce qui suit est en cours d'exécution à partir d'un compte avec les privilèges Sudo:
J'ai un utilisateur Tomcat
créé avec la commande suivante
Sudo useradd -g Tomcat -d /usr/local/Tomcat -m -s /bin/false Tomcat
J'ai aussi un utilisateur test
créé avec la commande suivante
Sudo adduser test
J'ai un dossier temp
et des perms 777
sont définis sur ce dossier
chmod 777 temp
Voici mes observations:
## 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
Ma question est donc ce qui ne va pas avec l'utilisateur Tomcat?
Le shell de Tomcat est/bin/false, vous pouvez exécuter avec su - comme
Sudo su -s /bin/bash -c "touch temp/b.txt" Tomcat