質問: コマンド「su -s」と「sudo -s」の違いは何ですか? 2つのスーパーユーザーコマンドsu -sとsudo -sの違いは何ですか?どちらも、シェルにスーパーユーザーアカウントへのアクセス権を付与します。
回答: suは、シェルを実行するか、特定のコマンドを実行するために、別のユーザーに変更するコマンドです。他のユーザーとして認証する必要があります。 rootにsuしたい場合は、rootのパスワードが必要です。sudoは、別のユーザーとして別のコマンド(オプションでシェル)を実行するコマンドです。 自分のユーザーとしてを認証する必要があります。 sudoを使用する権限(およびsudoで実行できる特定の操作)は、sudoersファイルで管理者が指定します。誰かにsuへのアクセスを許可すると(たとえば、rootパスワードを与えることにより)、他のコマンドを実行したり、シェルを開いたり、パスワードを変更したり、sshを介してリモートでログインしたりなど、何でもできます。あなたは本質的に彼らに他のアカウントへのアクセスを与えています、 'su'は彼らがそれを使ってできるただ一つのことです。須藤ははるかに細かいです。ユーザーまたはグループに権限を付与できます。特定の時間枠内(例:月曜日から金曜日、午前9時から午後5時)にユーザーまたはグループにsudoを許可できます。コマンドの実行を許可するコマンドの特定のリストを指定するか(例:/ usr/local/bin/run_backup)、またはコマンドの実行を許可する特定のユーザーを指定できます(例:www、backup、staffなど)。 )。sudoはその柔軟性に加えて、ユーザーがまだ持っていないものへのアクセスを必要としないため、すべての場合に優れたソリューションです。誰かにsudoアクセスを許可する場合は、sudoersファイルでその行を削除するか、sudoersグループからそれらを削除することにより、そのアクセスを取り消すことができます。あなたが彼らのアカウントを削除すると、彼らのアクセスはなくなります。あなたが彼らにルートパスワードを与えると、彼らがそれに対して不快なことを何もしないと仮定しても、彼らはそれを永遠に知るでしょう。管理タスクにrootアクセスが必要な人が複数いる場合、これは、誰かが去るたびにすべてのrootパスワードを変更するか、または退社後にシステムへのフルアクセスが許可されていると想定することを意味します。