Sudo
コマンドなしでSudo -E bash -
を実行する方法はありますか?
Sudo
が存在しないUbuntuコンテナ内で実行したいコマンドcurl -sL https://deb.nodesource.com/setup_13.x | Sudo -E bash -
があります。 Dockerで実行することにより、Dockerパラメータ-u root:Sudo
を指定して、内部ですべてがrootとして実行されるようにします。
ただし、Sudo
が存在しないため、コマンドSudo -E bash -
は失敗します。 -E bash -
を実行する方法はありますか?
-E
はSudo
コマンドのオプションであり、管理者特権で実行している実際のコマンドの一部ではありません。
man Sudo
から:
-E, --preserve-env
Indicates to the security policy that the user wishes to pre‐
serve their existing environment variables. The security
policy may return an error if the user does not have permis‐
sion to preserve the environment.
したがって、Sudo
をまったく使用しないため、環境は変更されません。このオプションを何かに置き換える必要はありません。ただ
curl -sL https://deb.nodesource.com/setup_13.x | bash
(ところで、bash
の後に続く-
引数は無効です。省略してもかまいません。)
ただし、オンラインソースからフェッチされた未検証のコードをrootとして直接実行することがセキュリティに関して推奨されるかどうかは、別の問題です...