web-dev-qa-db-ja.com

sudoなしで-Eを実行する

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 -を実行する方法はありますか?

3
Socrates

-ESudoコマンドのオプションであり、管理者特権で実行している実際のコマンドの一部ではありません。

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として直接実行することがセキュリティに関して推奨されるかどうかは、別の問題です...

6
Byte Commander