Upstart для разрешений docker и setuid
Хорошо, это занимало меня, по крайней мере, на день, с прошлой ночи. Я пытаюсь сделать что-то очень простое: запустить скрипт bash, который создает несколько папок и запускает docker
контейнер - но с использованием upstart
, Но я получаю ошибки разрешения:
- либо ошибка разрешения для создания папок в зависимости от того, какого пользователя он определен как
setuid
- и в любом случае я получаю ошибку
cannot enable tty mode on non tty input
Я пытался использовать setuid
с пользователем vuvu
или просто оставить это безрезультатно. Если я не использую setuid
я получил cannot enable tty mode on non tty input
и если я использую пользователя, которого я установил в качестве администратора, я получаю как эту ошибку, так и cannot create directory 'log/1438359854': Permission denied
,
Вот мой 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
и я сделал пользователя vuvu
часть admin
и когда он не работал как часть adm
,
Мой выскочка прост:
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
И сценарий оболочки прост (я не знаю, как запустить Ubuntu):
sudo docker run -t -i ubuntu
Кажется, ничего не работает, и я очень расстроен. Ребята, вы можете помочь?
1 ответ
НАЙДЕНО!
Проблема уточняющая -t
который никогда не может работать, потому что он выделяет псевдо-TTY. Сообщалось о подобной проблеме с systemd, но эта была для выскочки.
Так что переходить на это было все, что я должен был сделать:
sudo docker run -i ubuntu
Кажется, теперь легко, никогда не копируйте параметры, не понимая, что они делают.