これは通常 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ターゲットをコンパイルしますか?