私の知る限り、他の人も同じ意見を持って いるようですsudo
。管理者権限で何かを実行するコマンドです。
ただし、実行するrcconf
と次の行が表示されます。
[*] sudo Provide limited super user privileges to specific users
このサービスのポイントは何ですか?それともサービスですか?
私の知る限り、他の人も同じ意見を持って いるようですsudo
。管理者権限で何かを実行するコマンドです。
ただし、実行するrcconf
と次の行が表示されます。
[*] sudo Provide limited super user privileges to specific users
このサービスのポイントは何ですか?それともサービスですか?
回答:
再起動時にユーザーの「キャッシュされた」認証アクションを取り消すため。これはデーモンではなく、起動時に実行されるスクリプトです。
/etc/init.d/sudo
「サービスを開始する」initファイルを調べることで、それが何をしているのかを簡単に確認できます。
case "$1" in
start)
# make sure privileges don't persist across reboots
if [ -d /var/lib/sudo ]
then
find /var/lib/sudo -exec touch -t 198501010000 '{}' \;
fi
;;
stop|reload|restart|force-reload)
;;
*)
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
したがって、基本的に/var/lib/sudo
は、システムの起動時にいくつかのファイルに触れるだけで、非常に古い変更タイムスタンプが設定されます。その結果、サービスの開始時に「キャッシュされた」認証アクションが取り消されます(起動時に発生します)。
/var/lib/sudo
ディレクトリの詳細とそれらのタイムスタンプをお願いします。さて、の地図からsudo(8)
:
[...]
Once a user has been authenticated, a time stamp is updated and the
user may then use sudo without a password for a short period of time
(15 minutes unless overridden in sudoers).
[...]
Since time stamp files live in the file system, they can outlive a
user's login session. As a result, a user may be able to login, run a
command with sudo after authenticating, logout, login again, and run
sudo without authenticating so long as the time stamp file's
modification time is within 15 minutes (or whatever the timeout is set
to in sudoers).
[...]
/var/lib/sudo Directory containing time stamps
sudo
サービスファイルは、のために呼ばれる特権が再起動後に滞在していないことを確認するために存在します。基本的に、再起動後、ルート権限を要求した通常のユーザーは通常のユーザーのままであることが保証されます。
sudoに関する詳細な説明
以下の説明はすべて、この質問を読んだすべての人のすべての情報を取得し、サービスフォルダー内のsudoファイルが何をしているのかを説明することです。
あなたは、Ubuntuのか、使用する他のディストリビューションをインストールするとsudo
されて間の差ルートおよび使用するユーザーであることsudo
の特権(管理者またはスーパーユーザー権限)「のようなルートを」得るためには、次のですが。
ルートとして
sudoとして
SUDOの作成は、過去にルートを使用すると解決策よりも多くの問題が発生したために行われました。ユーザーにはすべての権利がありました。つまり、春のクリーンアップを行い、文字通り/usr
、/lib
および/bin
フォルダーを削除した場合(必要ではないと思ったため)。過去の多くの問題は、ユーザーがrootを使用したときの力を知らなかったためです。基本的に彼らはルートを持っていましたが、Linux、ファイルシステム階層、重要なファイルなどを理解していませんでした。(フェラーリを持っていて、高速道路での運転方法を知らないようなものです!)
SUDOは、何かを行うために一時的な管理者権限が必要なGUIアプリ(Update Managerなど)でも使用されます。特定の量のコマンド(通常は1)に対してのみ必要であり、ユーザーレベルの特権に戻ります。これは、常にroot権限を持つことを避け、ユーザーがシステムの重要な部分を削除することを決めた場合に間違えないようにするためです。
さらに、rootユーザーはデフォルトで無効になっているため、セキュリティが向上します。
最後に、デスクトップPCまたはサーバーを使用している場合、すべてのユーザーがrootになったり、すべての管理者特権を持つことは望ましくありません。あなたの妹や弟が、キーに/boot
会ったらどうなるのだろうかと考え始めたら、非常に悪い考えですDEL。これは、sudo
何か悪いことが起こる可能性を減らすためです。
1人または複数のsudoユーザーには、特定のユーザーのsudoコマンドがどの程度制限されているか、または開いているかを示す構成ファイルが実際にあります。ファイルに/etc/sudoers
は、sudoユーザーにアクセスを制限または許可するためのすべての情報が含まれています。デフォルトでは、すべてにアクセスできますが、必要に応じて設定または制限できます。
man sudoers
ターミナルでsudoersファイルタイプを使用する方法については。たとえば、通常の形式は次のとおりです。
ユーザーホスト=コマンド
たとえばcyrex server1 = /bin/ls
、ホストserver1のユーザーcyrexにlsコマンドを実行するアクセス権を付与します。
たとえばcyrex server1 (root) = /bin/ls
、ホストserver1のユーザーcyrexに、rootとしてlsコマンドを実行するアクセス権を付与します。
たとえばcyrex ALL = /bin/ls
、すべてのホストのユーザーcyrexにlsコマンドを実行するためのアクセス権を付与します。
たとえばcyrex ALL = ALL
、すべてのホストのユーザーcyrexにすべてのコマンドを実行するためのアクセス権を付与します。
たとえば、パスワードを要求せずに、root およびコマンドでluis ALL=(root) NOPASSWD: /bin/kill, /usr/bin/killall
sudoを実行できます。kill
killall