web-dev-qa-db-ja.com

素敵な須藤か素敵な須藤?

次のコマンドを使用してSudoで集中的なタスクを実行することには違いがありますか?

  1. 素敵な須藤[集中コマンドはこちら]
  2. 須藤ニース[集中コマンドはこちら]

ところでこれはLinux 3.x用です。

53

違いがあります、重要な違いです。

減少プロセスの優先順位を指定する場合、順序は関係ありません。一方、増加にする場合は、Sudoの前にNiceを置く必要があります。

通常のユーザーとしてコマンドを実行しているため(そうでない場合は、Sudoをまったく使用しません)、コマンドの優先度を下げることしかできません。ただし、最初にSudoを使用する場合は、必要に応じて増やすことができます。

104
ThoriumBR

Nice Sudoを実行すると、パスワードのプロンプトも適切に機能しますが、パスワードの入力にはるかに多くの時間を費やすため、それほど重要ではありません。

ThoriumBRが述べたように、優先度を下げる場合、順序は関係ありませんが、優先度を上げる場合、(これはrootとして実行する必要があるため)Sudo Niceを使用する必要があります。

そうでなければ、私は本当の違いを想像することはできません。

16
Michael Hampton

遅い答え:

Sudoアクセスが特定のプログラム(fooおよびbarなど)に制限されている場合、Sudo Nice fooを実行する権限はありませんが、Nice Sudo fooの実行は許可されます。

2
Chris Dennis

'principle of least privilege' を使用すると、ルート権限で必要な場合にのみプログラムを実行し、不要になったらすぐに再度ドロップする必要があります。

つまり、違いがあります。ニースのエクスプロイトがある場合、攻撃者はニースプログラムと同じ特権でコードを実行する可能性があります。

また、Sudoは環境をリセットするため、副作用がほとんどないので、試してください。

$ echo 'echo $PATH' | sh
/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/jens/.local/bin:/home/jens/bin:/home/jens/.local/bin
$ echo 'echo $PATH' | Sudo sh
[Sudo] password for jens: 
/sbin:/bin:/usr/sbin:/usr/bin

したがって、Sudoを介して実行する「ニース」コマンドは、実際には別のバイナリになる可能性があります。

$ which ash
~/.local/bin/ash
$ Sudo which ash
[Sudo] password for jens: 
which: no ash in (/sbin:/bin:/usr/sbin:/usr/bin)
2
Jens Timmerman