Unixコマンドであるsu(エスユー、ス)は、再ログインすることなく、シェルのユーザを切り替えるために利用される。Unixにおいて、マシンの管理作業を行う際にroot権限を得るために頻繁に使用されるコマンドである。KDEやGNOME等のようなデスクトップ環境において、root権限が必要なコマンドを実行しようとすると、一般的にパスワード用の入力フィールドがポップアップする。
suは一般的に、コマンドラインのターミナルから実行される。suを実行すると、切り替え先ユーザのパスワードが要求され、認証が成功した場合は、そのアカウントへのアクセス権限が与えられる。
johndoe@klinger:~$ su
Password:
root@klinger# exit
exit
johndoe@klinger:~$
関連するコマンドとしてsudoがある。sudoを用いれば、別のユーザの権限でコマンドを実行できる。
sudoコマンド実行時、実行者であるユーザが、どのユーザの権限で、どういうコマンドラインを実行できるかといった情報は、一般的に/etc/sudoersで設定されている。 suを実行する際には切り替え先の権限のパスワードが要求されるのに対して、sudoを実行する際には自分のパスワードが要求される。 そのため、sudoを利用して作業をする人に対して切り替え先のユーザのパスワードを伝える必要がなく、ユーザーパスワードと管理者パスワードの両方を管理する必要がなく、パスワードが漏洩する危険性も軽減できる。Linuxディストリビューションによっては、suを利用してroot権限になることを禁止しており、root権限でコマンドを実行する場合は常にsudoを先頭につけることもある。
システム管理者は、不正な利用者によってroot権限を取得されないように、rootのパスワードを慎重に決定しなければならない。 Unixシステムによってはwheelグループが存在し、wheelグループに所属していないユーザはsuコマンドでroot権限を得ることができない。 この仕組みによって、侵入者がroot権限を得る可能性を軽減できる。 しかしながら、GNU suは思想的な理由によりWheelグループをサポートしない。
Windows XPにもrunasという類似コマンドが存在する[1]。