web-dev-qa-db-ja.com

dockerおよびsetuid権限の起動

OK、これで昨夜から少なくとも1日は忙しくなりました。私は非常に単純なことをしようとしています。いくつかのフォルダーを作成してdockerコンテナーを実行するbashスクリプトを実行しますが、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

そして、ユーザーvuvuadminの一部にし、それが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
Aliostad

それを見つけた!!

問題は-tを指定することです。これは疑似TTYを割り当てているため機能しません。 systemdでの同様の問題は reported でしたが、これは新興企業向けでした。

したがって、これに変更するだけで済みました。

Sudo docker run -i ubuntu

今では簡単に思えますが、オプションの機能を理解せずにオプションをコピーすることはありません。

1
Aliostad