IT pass HikiWiki - [Exp2010]情報実験機のアカウント作成 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

{{toc}}


((<"スケジュール表・各回資料 (4/23)"|[Exp2010]スケジュール表・各回資料#04-2F24>))へ

= 概要

いよいよ, 情報実験機にアカウントを作成します.

レクチャーで触れたように, UNIX 系のシステムには以下 2 種類のアカウントがあります.
* システム管理者のアカウント (root)
* 一般利用者のアカウント

今日皆さんに作成していただくのは一般利用者のアカウントです.
後日の実習では, システム管理者のアカウントも作成することになるので, それを踏まえて, このページでは,

* システム管理者 (root) についての説明
* アカウント作成にあたっての解説

を行います.

= 管理者 (root)

UNIX には, 一般の利用者 (ユーザー) に対して使いやすく安全な UNIX 環境を提供するために, UNIX システムを管理する特別な権限を持ったシステム管理者が存在します. そうしたシステム管理者を UNIX では, スーパー・ユーザー, もしくは ((*root*)) と呼んでいます.

同じ root と言う名前を持つものに, これから学ぶであろう UNIX のファイル・システムの最上部のディレクトリがありますが, UNIX では特権を持ったシステム管理者のログイン・ユーザー名にこの名前を使うという慣習があります. 即ち root = スーパー・ユーザー = システム管理者 (機器管理者) です. このドキュメントにおいて, これら 3 つの言葉は特に区別せずに使います.

かつて UNIX の世界でスーパー・ユーザーといえば, それぞれの大学や研究所で UNIX を取り仕切る, 一人か二人の雲の上の仙人といったイメージがありました. しかし今は違います. それぞれの研究室に, 会社のそれぞれのセクションに, UNIX のスーパー・ユーザーが必要になりました.

家庭で良く使われる, いわゆる"Windows 98/Me/XP マシン" "Mac" では, パソコンのユーザーとそのパソコンの管理者との間には──大抵の場合同じ人間が両方を兼ねており── 明確な違いはありません. しかし, UNIX の場合は違います. いかにスーパー・ユーザーの大衆化が進んだとしても, UNIX の一般ユーザーと, UNIX のスーパー・ユーザーとは, はっきり区別されなければなりません.

== root の役割

root には, 主に次のような仕事があります.

  (1) システムのシャットダウン
  (2) プロセス管理
  (3) ユーザー管理
  (4) ファイルシステム管理
  (5) ネットワーク管理
  (6) システムのセキュリティ管理
  (7) システムのインストール, セットアップ
  (8) カーネルのコンフィギュレーション
  (9) アプリケーションのインストール

UNIX や Linux では, root が絶大な権限を持っています. このことを UNIX の弱点の一つに数える議論もあるくらいです. マシンを生かすも殺すも, root の指一つにかかっています. 逆に言えば root は, 非常に重い責任を負わされているということです.

マシンがうまく動かないとき, ユーザーは root に文句を言います. では, root は誰に文句を言えばいいのでしょう. コンピュータの機械的なトラブルだったらメーカーに, ソフトウェアのバグが原因だったらソフトウェア会社にクレームをつけることはできます. いずれにせよ, トラブルの原因を見つけて対策を立てるのは, 一般ユーザーではなく, root の仕事です. しかし一方で, root の責任に帰されるべき多くのトラブルもあることを忘れないで下さい.

今回のカリキュラムでは, みなさんの前にある情報実験機の root は, 周りに居る TA です. 今後のカリキュラムでは, 最低限の UNIX (Linux) の基礎, そしてインターネットを始めとするネットワークに関して学習してもらった上で, 皆さんに, それぞれのマシンの root としての大きな権限を開放します. それは全てのトラブルに対して, root としての責任を皆さんに負って頂くということです.


= アカウントの作成

== アカウント

先に触れた root の仕事の一つ「ユーザー管理」の第一歩が, このアカウントの作成です. アカウントとは, コンピュータやネットワーク上の資源やサービスを利用できる権利のこと, または利用する際に必要な ID のことです. UNIX が稼働しているコンピュータのユーザーとなるには, ユーザーの情報をシステムに登録する必要があります. コンピュータから見たアカウントとは, このユーザー登録情報に該当します. アカウントの作成 = ユーザー情報の登録と言えるでしょう.

=== ユーザーの情報

ユーザーの情報は基本的に /etc ディレクトリ内の passwd, shadow, group ファイルに登録されています. それぞれのファイルの説明は ((<[Exp2010]Unix系OSでのユーザー情報に関するファイル>)) を参照してください.

== アカウント作成手順 (新規ユーザーの登録)

具体的なアカウントの作成手順は, 用いられている UNIX (Linux) のシステムによって様々です. ここでは, Debian GNU/Linux 5.0 を例にとって話を進めます.

=== adduser

かつてアカウントの作成には, 先程紹介した /etc/passwd ファイルなどを手で書き換える作業を伴いましたが, 現在では adduser コマンドが一連の作業を代行してくれます. なお, ((<"/etc/passwd ファイルを手で直接書きかえる場合も, 専用のエディタを使う"|URL:#その他の方法について>)) ことが推奨されますので, 注意してください.

以下は adduser を使った新規アカウントの追加方法です.

  (1) root 権限を行使できる状態にします.
      具体的には, root でログインするか, su もしくは sudo コマンドで一時的
      に root に成り代わります.
      最初のうちは皆さんは root に成ることはできませんから, 手近な TA に頼
      みましょう.

  (2) adduser コマンドを実行します. ここでは新規アカウントとして samson さ
      んを追加すると仮定しています.
  
      今回, アカウント名には原則的に ((*半角英字の小文字と数字のみ*)) を使
      用するようにしてください. (ITPASS サーバでのアカウント名と同じにする
      ためです). システムにも依りますが, その他の特殊文字などは使えません.
      長すぎるものやランダムな文字列など, あまりおかしな名前をつけるのもお
      勧めできません.

        # adduser samson                       < 新規アカウントとして, ログイン名"samson"を指定.
        Adding user samson...                  > ユーザー"samson"を追加しています...
        Adding new group samson (1001).        > "samson"というグループ (グループ ID:1001) も追加してます.
        Adding new user samson (1001)          > ユーザー"samson"(ユーザー ID:1001) を
                     with group samson.          グループ"samson"に追加してます.
        Creating home directory /home/samson.  > ユーザー"samson"のホームディレクトリ
                                                 /home/samson を作成しています.
        Copying files from /etc/skel           > 個人用の設定ファイルを /etc/skel からコピーしています.
        Enter new UNIX password:               > 新しい UNIX パスワードを入力してください:


  (3) パスワードを聞かれるので, 適切なパスワードを入力します. この時,
      側で見ている人に知られないようにする目的で, 打ち込んだパスワー
      ドは画面には表示されません. パスワードは大文字, 小文字, 数字,
      記号などを 8 文字以上並べて構成します. パスワードはセキュリティ上
      たいへん重要なものですから, パスワードの付け方には注意してください.
      (※詳しくは ((<[Exp2010]パスワードセキュリティ>)) を参照)
  
        Enter new UNIX password:(何も表示されず)  < 適切なパスワードを入力し設定します.
        Retype new UNIX password:(何も表示されず) < 確認のため, もう一度同じものを入力します.
        passwd: password updated successfully       > パスワードは正常に更新されました.
        Changing the user information for samson    > ユーザー"samson"の情報を変更します.
        Enter the new value,                        > 新しい値を入力, または標準値 (角括弧内に表示)
              or press return for the default         を用いるならそのまま Enter キーを押してください.
          Full Name []:                             > フルネームをどうぞ:


  (4) パスワードを 2 回入力し, 問題がなければ, ユーザーの個人情報登録
      に進みます. 尋ねられるのは,
  
      * フルネーム
      * 部屋番号
      * 勤め先の電話番号
      * 自宅の電話番号
      * その他の情報
      
      です. 1 項目入力し終わった段階で Enter キーを押すと次の項目に進
      みます. フルネーム以外の情報は省略しても結構ですが, メールアド
      レスを持っている人は, 「その他の情報」欄に入力して下さい.

        Enter the new value, or press return for the default  
            Full Name []: Samson SUGIURA               < ユーザーの姓名を入力します.
            Room Number []:                        < 所属する研究室の部屋番号など, を入力します.
            Work Phone []:                 < 所属する研究室の電話番号など, を入力します.
            Home Phone []:                             < 自宅の電話番号を入力したい場合はここへ.
            Other []:
        Is the information correct? [Y/n]              > これで良い?[はい/ いいえ]                  


  (5) 最後の項目を入力し終えると, それまで入力した内容に間違いがないか
      確認してきますので, 正しい場合は Y , 間違っていれば n を入力し,
      Enter キーを押します.

        Enter the new value, or press return for the default
            Full Name []: Samson SUGIURA
            Room Number []:
            Work Phone []:
            Home Phone []:
            Other []:
        Is the information correct? [Y/n] Y            < 正しい場合は Y ,
                                                         間違っていれば n を入力します.


  (6) こうして新規アカウント"samson"を追加することができました.


=== その他の方法について

ユーザーの情報を変更する, あるいは adduser や useradd コマンドを利用せずに直接設定ファイルを編集してアカウントを追加する場合, それぞれの設定ファイル専用のコマンドを用いて編集しなければいけません.

各設定ファイルと編集用コマンドの対応は下記の通りです.

# RT
設定ファイル, /etc/passwd, /etc/group, /etc/shadow
編集用コマンド, vipw, vigr, vipw -s

これらの編集用コマンドは全て vi という文字が頭に付いていますが, それはこれらがエディタ vi と操作方法が同じであることを意味しています. vi の使い方について, 以降の講義で学習します.



== パスワード変更の方法

ログイン用パスワードを変更するには, passwd コマンドを用います.

  $ passwd

passwd と入力し Enter キーを押すと, 次のように表示されます. 下の例は adon さんがパスワードを変更していると仮定しています.

  $ passwd
  Changing password for adon   > ユーザー"adon" のパスワードを変更します.
  (current) UNIX password:     > ユーザー"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??-itpass (?? は担当マシンの番号) にログインしてみましょう.

  Debian GNU/Linux 5.0 joho??-itpass tty1

  joho??-itpass login: samson
  Password: (打ったパスワードは表示されない)

うまくログインできると以下のような待受け画面になります.

  samson@joho??-itpass:~$

ここで

  samson@joho??-itpass:~$ startx

と入力してみて下さい. そうすると CUI (Character User Interface) から GUI (Graphical User Interface) へ移行します.


== ログアウト

コンピュータを利用し終わった後はログアウトする必要があります. ログインしたまま放置してしまうと他人に操作され, 大事なファイルを破壊されたり, 不正アクセスなどの犯罪に利用されてしまうかもしれません.

まず, 画面上部の「デスクトップ」から, 「XXXX のログアウト」を選びます.
これによって GUI から CUI に戻ります.
((*この「ログアウト」ではログアウトは完了しないので注意してください*)).

それから, 以下のようにログアウトします.

  samson@joho??-itpass:~$ logout

または

  samson@joho??-itpass:~$ exit

と入力してください.

ログアウトすると次のように表示され, 次のログインを待ち受けている状態になります.

  joho??-itpass login:


情報実験機へのアカウント作成作業は以上です.

次は ITPASS サーバへのアカウント作成を行います.


= 時間が余った人のための追加教材

* ((<Unix系OSでのユーザー情報に関するファイル|[Exp2010]Unix系OSでのユーザー情報に関するファイル>))
* ((<パスワードセキュリティ|[Exp2010]パスワードセキュリティ>))


= 参考資料

このページは
((<"北海道大学 理学院 情報実験 (INEX)"|URL:http://www.ep.sci.hokudai.ac.jp/~inex>))

((<" 最低限 UNIX / Linux [I] アカウントの作成 (2007 年度資料)"|URL:http://www.ep.sci.hokudai.ac.jp/~inex/y2007/1012/1013.1.html>))
を基に作成しました.


((<"スケジュール表・各回資料 (4/23)"|[Exp2010]スケジュール表・各回資料#04-2F24>))へ