sudo
実際に不要なコマンドに適用する場合sudo
、
時にはパスワードを聞かないことがあります。たとえば、私
$HOME
、sudo ls
。しかし、どのコマンドなのかは覚えていませんが、他のコマンドとも機能することを覚えています。
sudo
もしそうなら、あなたが本当に必要としないコマンドが与えられたときにパスワードを求めるかどうかをどのように決定するのか疑問に思いますsudo
。/etc/sudoers
指定できるルールはありますか?
私の本当の問題は、私がそれを使用したときに、du
特定のディレクトリに対して「権限が拒否されました」と表示され、時にはそうではないということです。それはおそらく、特定のディレクトリに対する権限がないからでしょうか?sudo
とにかく申し込みましたが、du
とにかくパスワードの入力を求められますが、実際には私のディレクトリにはありません。
答え1
sudo
実行を要求するコマンドを他のユーザー(通常はroot)として実行する必要があるかどうかはわかりません。知っているのは設定だけです。これは、どのユーザーが実行できるかsudo
、どのユーザーが「ターゲット」であるか、どのコマンドが実行されるかを決定します。また、パスワードが必要か、どのパスワードが必要か、認証トークンが維持されるかどうかを決定します。
デフォルトの Debian 設定を使用している場合は、後者がここに含まれる可能性が最も高くなります。sudo
特定の端末で初めて使用すると、パスワードの入力を求められ、特定の期間中に認証トークンが保持されます。時間の量。その時間内に同じ端末で再使用すると、sudo
パスワードの入力を求められません。
答え2
一般的な構成では、このコマンドは関係ありません。 sudoを初めて使用するときはパスワードが必要で、特定のシェルで次の15分間は必要ありません。
コンピュータの観点からは、「sudoが必要なコマンド」というものはありません。すべてのユーザーがすべてのコマンドを実行しようとすることができます。結果は、「権限が拒否されました」や「該当するファイルやディレクトリがありません」などのエラーメッセージである可能性がありますが、コマンドは常に実行できます。
たとえば、du
アクセス権のないコンテンツを含むディレクトリツリーで実行している場合、権限エラーが発生します。これは「許可拒否」を意味します。sudo du
sudoを実行するとdu
rootとして実行されるため、権限エラーは発生しません(rootアカウントのポイント:rootには常に権限があります)。を実行するときはsudo du
rootdu
として実行し、sudo
起動後はまったく参加しないでください。du
du で許可エラーが発生するかどうかは sudo の仕組みとまったく関係ありません。
一部のコマンドにはsudoが必要です。何か役に立つことをしなさい。ユーザビリティは人間の概念です。 rootとして実行してもコマンドは機能しませんが、自分のアカウントでは機能しない場合は、sudo(またはrootでコマンドを実行する他の方法)を使用する必要があります。
sudoがパスワードを要求するかどうかは、2つの方法によって異なります。
- sudo は、構成によって認証が必要かどうかを決定します。デフォルトでは、sudoにはパスワードが必要です。この機能は、
authenticate
オプションをfalseに設定し、ラベルに適用可能なルールを設定するなど、さまざまな方法でドラッグできますNOPASSWD
。 - sudoでパスワードが必要な場合は、キャッシュされた値を使用すると満足できます。大丈夫です。 sudoにパスワードが必要なのは、誰が電話をしているのかを確認することではありません(sudoはどのユーザーが電話したかを知っているためです)、キーボードを制御する人ではなく、コマンドを実行している人がまだ自分であることを確認することです。です。デフォルトでは、15分以内にパスワードを入力すると(
timeout
このオプションを使用して変更できます)、sudoはユーザーがまだコマンドを実行していると信じたいと思います。同じ端末にパスワードを入力する必要があります(したがって、ある端末にログインしたままにした後、その端末を放置してから別の端末を使用すると、他の人がそれを悪用して他の端末でsudoを使用することはできませんが、これは非常に弱い利点です。このオプションをfalseに設定してオフにすることができますtty_tickets
。
ほとんどですが、これはこのスレッドの範囲外です。
答え3
実際にsudoを必要としないコマンドに
これは命令ではありません。必要または不要修道。走るとき
sudo -u user command
システムはcommand
次のように実行されますuser
。
呼び出しの成功とパスワードの必要性は、セキュリティポリシーsudoers
(通常は設定/etc/sudoers
)によって異なります。