5.2. システム管理者とアカウント -su , useradd , userdelコマンド-
5.2. システム管理者とアカウント -su , useradd , userdelコマンド-
Linuxではシステムを管理するためのスーパーユーザが必ず存在します。スーパーユーザのアカウント名はroot(ルート)です。スーパーユーザは、ファイルに設定されているパーミッションに関係なく、システムに対してあらゆる操作が可能です。そのため、スーパーユーザで行う作業は特に注意しなければなりません。うっかり間違ったコマンドを実行したがために、システム全体を破壊してしまう可能性さえあります。スーパーユーザになるためには、rootでログインしなおす必要はなく、suコマンドを用いれば事足ります。
suコマンドを実行する際には一つ注意点があります。特にオプションを指定せずにsuコマンドを実行すると、既存のユーザ環境を転用します。つまり管理者と一般ユーザで実行するコマンドのいくつかに違いが生じるため、rootでログインした時には使えていたコマンドであっても、「コマンドが見つからない」というエラーを返される場合があります。既存のユーザ環境に依存せず、完全に指定したユーザ(この場合はroot)になりたい場合には、suコマンドにオプションとして“-”をつけて下さい。(“su -”)。そのユーザからログアウトするにはexitコマンドまたはCtrl+Dを入力します。
$ su -
パスワード:
# →プロンプトがスーパーユーザの"#"になった
ログアウト時にはexit(またはlogout)コマンドもしくはCtrl+Dを入力します。
# exit
$ →プロンプトが元に戻った
ユーザを管理するには、ユーザ管理のツールを用います。ユーザを追加するには、useraddコマンドを、ユーザを削除するにはuserdelコマンドを用います。
# useradd 追加したいユーザ名
# userdel 削除したいユーザ名
なお、userdelコマンドにオプションをつけないでユーザを削除した場合、そのアカウントが所有していたホームディレクトリは削除されずに残ってしまいます。ホームディレクトリごと削除したい場合には、“-r”オプションをつけて下さい(“userdel -r”)。
また、ユーザにはパスワードが必要です。ユーザを作った時点ではパスワードは用意されておらず、passwdコマンドを用いて個別にパスワードを設定する必要があります。
useradd、userdelコマンドともにmanコマンドで日本語のマニュアルを参照できます。
一般ユーザは、passwdコマンドを引数なしで実行することにより、自分のパスワードを変更することができます。ただし、あまりに簡単なパスワードである場合には失敗するケースがあります。一方、管理者はpasswdコマンドに引数として特定のユーザを指定することで、指定した一般ユーザのパスワードを変更することができます。
$ passwd
Changing password for user example.
Changing password for example
(current) UNIX password: (現パスワード入力)
New UNIX password: (新パスワード入力)
Retype new UNIX password: (再度入力)
passwd: all authentication tokens updated successfully.
【問題】
1. 一般ユーザでログインした後に、suコマンドでスーパーユーザ環境に切り替えてみましょう
2. 新しいユーザを追加して、そのユーザのパスワードを設定してみましょう