本日の実習 [アカウントの作成] | 詳しく知りたい人のために |
---|---|
UNIX には、一般の利用者(ユーザー)に対して使いやすく安全な UNIX 環境を提供するために、 UNIX システムを管理する特別の権限を持ったシステム管理者が存在します。 そうしたシステム管理者を UNIX では、スーパー・ユーザー、もしくは root と呼んでいます。
同じ root と言う名前を持つものに、これから学ぶであろう UNIX のファイル・システムの最上部のディレクトリーがありますが、 UNIX では特権を持ったシステム管理者のログイン・ユーザー名にこの名前を使うという慣習があります。 即ち root = スーパー・ユーザー = システム管理者(機器管理者)ということになります。 このドキュメントにおいて、これら3つの言葉は、特に区別しないで用います。
かつて UNIX の世界でスーパー・ユーザーといえば、それぞれの大学や研究所で UNIX を取り仕切る、 一人か二人の雲の上の仙人といったイメージがありました。 しかし、今は違います。それぞれの研究室に、会社のそれぞれのセクションに、 UNIX のスーパー・ユーザーが必要になりました。
家庭で良く使われる、いわゆる"Windows 98/Me/XP マシン" "MAC" では、 パソコンのユーザーとそのパソコンの管理者との間には──大抵の場合同じ人間が両方を兼ねており── 明確な違いはありません。 しかし、UNIX の場合は違います。いかにスーパー・ユーザーの大衆化が進んだとしても、 UNIX の一般ユーザーと、UNIX のスーパー・ユーザーとは、はっきり区別されなければなりません。
root には、主に次のような仕事があります。
UNIX や Linux では、root が絶大な権限を持っています。 このことを UNIX の弱点の一つに数える議論もあるくらいです。 マシンを生かすも殺すも、root の指一つにかかっています。 逆に言えば root は、非常に重い責任を負わされているということです。
マシンがうまく動かないとき、ユーザーは root に文句を言います。 では、root は誰に文句を言えばいいのでしょう。 コンピュータの機械的なトラブルだったらメーカーに、 ソフトウェアのバグが原因だったらソフトウェア会社にクレームをつけることはできます。 いずれにせよ、トラブルの原因を見つけて対策を立てるのは、 一般ユーザーではなく、root の仕事です。 しかし一方で、root の責任に帰されるべき多くのトラブルもあることを忘れないで下さい。
今回のカリキュラムでは、みなさんの前にある情報実験機の root は、 周りに居るボランティア TA や TA、STAFF です。 今後のカリキュラムでは、最低限の UNIX(Linux)の基礎、 そしてインターネットを始めとするネットワークに関して学習してもらった上で、 皆さんに、それぞれのマシンの root としての大きな権限を開放します。 それは全てのトラブルに対して、root としての責任を皆さんに負って頂くということです。
先に触れた root の仕事の一つ「ユーザー管理」の第一歩が、 このアカウントの作成です。 アカウントとは、コンピュータやネットワーク上の資源やサービスを利用できる権利のこと、 または利用する際に必要な ID のことです。 UNIX が稼働しているコンピュータのユーザーとなるには、 ユーザーの情報をシステムに登録する必要があります。 コンピュータから見たアカウントとは、このユーザー登録情報に該当します。 アカウントの作成 = ユーザー情報の登録 と言えるでしょう。
ユーザーの情報は基本的に /etc ディレクトリ内の passwd, shadow, group ファイルに登録されています。 それぞれのファイルの説明は 「5. ユーザー情報に関するファイル」 を参照.
具体的なアカウントの作成手順は、用いられている UNIX(Linux) のシステムによって様々です。ここでは、Debian GNU/Linux 2.2 を例にとって 話を進めます。
かつてアカウントの作成には、先程紹介した /etc/passwd ファイルなどを手で書き換える作業を伴いましたが、 現在では adduser コマンドが、一連の作業を代行してくれます。 なお、/etc/passwd ファイルを手で直接書きかえる場合も、 専用のエディタを使うことが推奨されますので、注意してください。
以下は adduser を使った新規アカウントの追加方法です。
# adduser samson Adding user samson... Adding new group samson (1001). Adding new user samson (1001) with group samson. Creating home directory /home/samson. Copying files from /etc/skel Enter new UNIX password: |
< 新規アカウントとして、ログイン名"samson"を指定。 > ユーザー"samson"を追加しています... > "samson"というグループ(グループ ID:1001)も追加してます。 > ユーザー"samson"(ユーザー ID:1001)をグループ"samson"に追加してます。 > ユーザー"samson"のホームディレクトリ /home/samson を作成しています。 > 個人用の設定ファイルを /etc/skel からコピーしています。 > 新しい UNIX パスワードを入力してください: |
Enter new UNIX password:(何も表示されず) Retype new UNIX password:(何も表示されず) passwd: password updated successfully Changing the user information for samson Enter the new value, or press return for the default Full Name []: |
< 適切なパスワードを入力し設定します。 < 確認のため、もう一度同じものを入力します。 > パスワードは正常に更新されました。 > ユーザー"samson"の情報を変更します。 > 新しい値を入力、または標準値(角括弧内に表示)を用いるならそのまま Enter キーを押してください。 > フルネームをどうぞ: |
Enter the new value, or press return for the default Full Name []: Samson SUGIURA Room Number []: S302 Work Phone []: 011-***-**** Home Phone []: Other []: samson@ep.sci.hokudai.ac.jp Is the information correct? [y/n] |
< ユーザーの姓名を入力します。 < 所属する研究室の部屋番号など、を入力します。 < 所属する研究室の電話番号など、を入力します。 < 自宅の電話番号を入力したい場合はここへ。 < メールアドレスを持っている人は、ここへ入力。 > これで良い?[はい/いいえ] |
Enter the new value, or press return for the default Full Name []: Samson SUGIURA Room Number []: S302 Work Phone []: 011-***-**** Home Phone []: Other []: samson@ep.sci.hokudai.ac.jp Is the information correct? [y/n] y |
< 正しい場合は y 、間違っていれば n を入力します。
|
ユーザーの情報を変更する、あるいは adduser や useradd コマンドを利用せずに 直接設定ファイルを編集してアカウントを追加する場合、 それぞれの設定ファイル専用のコマンドを用いて編集しなければいけません。
各設定ファイルと編集用コマンドの対応は下記の通りです。
設定ファイル | /etc/passwd | /etc/group | /etc/shadow |
---|---|---|---|
編集用コマンド | vipw | vigr | vipw -s |
これらの編集用コマンドは全て vi という文字が頭に付いていますが、 それはこれらがエディタ vi と操作が同じであることを意味しています。 vi の使い方については、後で学習します。
ログイン用パスワードを変更するには、passwd コマンドを用います。
$ passwd
passwd と入力し Enter キーを押すと、次のように表示されます。 下の例は adon さんがパスワードを変更していると仮定しています。
$ passwd Changing password for adon (current) UNIX password: |
> ユーザー"adon" のパスワードを変更します。 > ユーザー"adon" の(現在の)パスワードは? |
今使っているパスワードを尋ねてくるので、入力し、Enter を押します。 この時、画面には何も表示されません。
$ passwd Changing password for adon (current) UNIX password: Enter new UNIX password: |
< 今使っているパスワードを入力します。 > ユーザー"adon" の新しいパスワードは? |
今度は新しく設定するパスワードを尋ねてくるので、入力し、Enter を押します。 続いて確認のために再度入力するようにと表示が出るので、 新しく設定するパスワードをもう一度おなじように入力し、Enter を押します。 この時も、画面には何も表示されません。
$ passwd Changing password for adon (current) UNIX password: Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully |
< 新しく設定するパスワードを入力します。 < 確認のため、もう一度同じものを入力します。 > パスワードは正常に更新されました。 |
問題がなければ、これでパスワードの変更作業は終わりです。
無事にアカウントのできたみなさん, おめでとうございます.
それでは早速今作ったアカウントを使って joho** (** は担当マシンの番号)に
ログインしてみましょう.
Debian GNU/Linux 3.0 joho** tty1 joho** login: samson Password: (打ったパスワードは表示されない) |
samson@joho**:~$ |
samson@joho**:~$ startx |
コンピュータを利用し終わった後はログアウトする必要があります。 ログインしたまま放置してしまうと他人に操作され、大事なファイルを 破壊されたり、不正アクセスなどの犯罪に利用されてしまうかもしれません。
ログアウトは次のようにします。
samson@joho**:~$ logout |
または
samson@joho**:~$ exit |
ログアウトすると次のように表示され、次のログインを待ち受け状態になります。
joho** login: |
最終更新日: 2005/10/13(小松研吾) | Copyright © 2006 inex |