Linux では、特定の管理タスクには昇格された権限が必要です。これらの権限は、Linux の root ユーザーとして知られる特別なアカウントに属します。root として直接ログインすることもできますが、一時的にスーパーユーザーアクセスを取得する方が安全で管理しやすい場合が多いです。
su コマンド
sudo コマンドの他に、su(Substitute User:ユーザーを置き換える)を使用してスーパーユーザー権限を取得できます。ユーザー名を指定せずに実行すると、su はLinux root ユーザーの新しいシェルセッションを開こうとし、root パスワードを求めます。
su
このコマンドを使用して、システム上の他のユーザーのパスワードを知っていれば、そのユーザーに切り替えることもできます。
持続的な root シェルを使用するリスク
su を使用して root シェルを開くことには大きな欠点があります。root ユーザーとして継続的に操作すると、システムを変更する重大なミスを犯すリスクが高まります。さらに、root シェルで行われた操作は個人のユーザーアカウントの下に記録されないため、システム変更の監査が困難になります。これらの理由から、スーパーユーザーアクセスが必要な個々のコマンドには sudo を使用するのが最善の方法です。
sudoers ファイル
では、システムは誰が sudo を使用できるかをどのように判断するのでしょうか?アクセスは、/etc/sudoers にある設定ファイルによって制御されます。このファイルには、スーパーユーザーとしてコマンドを実行する権限を付与されたユーザーとグループがリストされています。
このファイルを安全に編集するには、常に visudo コマンドを使用する必要があります。このユーティリティは sudoers ファイルをテキストエディタで開き、保存前に構文チェックを実行するため、管理アクセスができなくなる設定エラーを防ぐのに役立ちます。