D'accord, cela m'a occupé pendant au moins une journée, depuis hier soir. J'essaie de faire quelque chose de très simple: exécuter un script bash qui crée quelques dossiers et exécute un conteneur docker
- mais en utilisant upstart
. Mais je reçois des erreurs de permission:
setuid
cannot enable tty mode on non tty input
J'ai essayé d'utiliser setuid
avec l'utilisateur vuvu
ou de le laisser en vain. Si je n'utilise pas setuid
j'obtiens cannot enable tty mode on non tty input
et si j'utilise un utilisateur que j'avais défini comme administrateur, j'obtiens à la fois cette erreur et cannot create directory 'log/1438359854': Permission denied
.
Voici ma sortie visudo
:
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# User privilege specification
root ALL=(ALL:ALL) ALL
# Allow members of group Sudo to execute any command
%Sudo ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) NOPASSWD:ALL
%adm ALL=(ALL) NOPASSWD:ALL
vuvu ALL=(ALL:ALL) NOPASSWD:ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
et j'ai fait de l'utilisateur vuvu
une partie de admin
et quand cela n'a pas fonctionné dans le cadre de adm
.
Mon arrivée est simple:
description "Job docker_some_api.conf created by create_init.py"
author "create_init.py"
start on runlevel [2345]
stop on runlevel [!2345]
setuid vuvu
chdir /home/myuser/Docker/docker_some_api/
script
exec /home/myuser/Docker/docker_some_api/run.sh
end script
Et le script Shell est simple (j'ai simplifié pour exécuter juste ubuntu):
Sudo docker run -t -i ubuntu
Rien ne semble fonctionner et je suis vraiment frustré maintenant. Pouvez-vous m'aider?
TROUVEZ-LE !!
Le problème spécifie -t
qui ne peut jamais fonctionner car il alloue un pseudo-ATS. Un problème similaire avec systemd était signalé mais celui-ci était pour parvenu.
Donc, changer pour cela était tout ce que j'avais à faire:
Sudo docker run -i ubuntu
Cela semble facile maintenant, ne copiez plus simplement les options sans vous rendre compte de ce qu'elles font.