これは通常 secure_path
によって設定されます /etc/sudoers
のオプション . man sudoers
から :
secure_path Path used for every command run from sudo. If you don't
trust the people running sudo to have a sane PATH environ‐
ment variable you may want to use this. Another use is if
you want to have the “root path” be separate from the “user
path”. Users in the group specified by the exempt_group
option are not affected by secure_path. This option is not
set by default.
デフォルトの $PATH
にないコマンドを実行するには 、どちらでも構いません
フルパスを使用してください:sudo ~/bin/my-command
;または
コマンドを含むディレクトリを secure_path
に追加します . sudo visudo
を実行 安全なパスの行を編集します:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/youruser/bin/"
ファイルを保存し、次に sudo
を実行するとき 、ディレクトリ ~/bin
$PATH
になります .
これは私が回避策として使用したものです:
sudo cp $(which my-command) /usr/bin
...
which
コマンドは非ルートのサブシェルで実行されるため、 my-command
を見つけることができます 、次に、sudo は実行可能ファイルをパス root
にコピーします。 ユーザーがアクセスできます。セキュリティ上は良くありませんが、コマンドの実行直後に破棄されていた Docker イメージを実行しても問題ありませんでした。
Linux で USB3.0 UASP (USB Attached SCSI Protocol) モードが有効になっているかどうかを確認するにはどうすればよいですか?
dbgパッケージを生成せずにLinuxカーネルdeb-pkgターゲットをコンパイルしますか?