第7回 ユーザの作成と管理

  • ユーザの作成と管理(1)
    • これからの方針
    • ユーザからの要望を検討する
    • ユーザアカウントの作成(1)
  • ユーザの作成と管理(2)
    • ユーザアカウントの作成(2)
    • パスワードの自動作成
    • 失敗(?)例

これからの方針

第1回~第5回まででDebian(sarge)をインストールして、とりあえずSSH2をインストールしてルータの内側に繋がっているWindowsマシンからLinuxサーバを操作できるようになりました。この後はどうしましょうか。

なんか"サーバ"というからには色々出来そうです。

FTPサーバを立てて、知り合いからあんな動画やこんなゲームや買えば何十万円もするソフトをアップしてもら……もとい。旅行に行ったときの写真や動画ファイルを共有するのも良さそうです。

あるいはWebサーバを立てて、自分のホームページやブログを公開するのも悪くありません。また自分がホームページを作る気がなくても友人・知人にホームページスペースを貸してプロバイダ業(もちろん無料)を体験することも可能でしょう。

まぁFTPサーバを立てるにしろ、プロバイダ業を体験するにしろ、友人・知人が自分のサーバを使えるようにしなければ始まりません。

今の状態では自分(ユーザ:hoge)しかサーバを使えないので、ユーザを作成する必要があります。ここではユーザアカウント(利用者の戸籍のようなもの)を作成する方法をご紹介します。

ユーザからの要望を検討する

ユーザには色々いる

一括りにユーザと言っても、色々な人がいます。自分はユーザ全員と知り合いだけどユーザ同士は赤の他人、というケースも考えられます。またユーザからは「アレがしたい」だの「これがやりたい」だの色々な要望があるものです。

サーバの管理者はそれらの要望に応えなければいけません。

ここではnavi研サーバを使うユーザを引き合いに、ユーザ管理について考えてみます。

まず筆者の大学の友人Aと友人B。

友人Aは筆者の私から見てもかっこいい男です。かっこいいからユーザ名はikemen(イケメン)でいいだろう。もう一人の友人Bは自称天才物理学者。自称天才物理学者だからユーザ名はueda(上田)だ。

そして3人目のユーザは私の弟。弟だからユーザ名はgutei(愚弟)で十分だ。

ユーザ同士の関係
fig6.1 ユーザ同士の関係

大学の友人であるイケメン(ユーザ名ikemen)と上田(ユーザ名ueda)は知り合い同士。けれど愚弟(ユーザ名gutei)はイケメンと上田とは面識がありません(fig 6.1)

ユーザの要望

イケメンと上田はホームページを作る気はありません。FTPを使って互いに旅行の写真や動画を共有できれば良いようです。

一方、愚弟の要望はホームページ作成です。ホームページを作るためにはファイルをFTPを使ってサーバに転送することも考えられますのでFTPも使います。

また以前ご紹介したSSH2を使ってのLinux操作(→第4回 PuTTYでSSH2接続)は管理者(root)と筆者(ユーザ:hoge)だけに許可して、他のユーザには一切触らせないようにします。何されるかわかりませんしね。

管理者は基本的に全部の操作が可能ですが、Linuxの操作だけを行うようにしてFTPはログインできないようにします。

各ユーザの要望を表にまとめると下のようになります。

各ユーザが行える操作
ユーザ名名前Linux操作Web編集FTP使用グループ名
root 管理者 × --
hoge 筆者 web,univ
gutei 愚弟 × web
ikemen 大学の友人A × × univ
ueda 大学の友人B × × univ

ところでLinuxでは各ユーザがそれぞれ何のグループに所属するのか設定できます。

イケメンと上田は大学の友人なので大学(univ)グループ。愚弟はホームページを作成するのでホームページ作成(web)グループにしました。筆者(ユーザ:hoge)は大学グループのメンバであり、ホームページも作成するのでunivグループとwebグループの両方に所属しています。

このような方針でユーザを作成していきます。

ユーザアカウントの作成(1)

ユーザアカウントの作成

"アカウント"とはコンピュータ(この場合はnavi研のサーバ)を利用するための権利のことです。ユーザアカウントは戸籍のようなもの、とでも例えた方が判りやすいでしょうか。

その昔、筆者が大学生だった頃。大学の電算室のコンピュータにてネットワーク対戦できるボンバーマン(←ゲームです)で遊びまくっていたら、やたら横柄な大学院生の管理者に「今度やったらアカウント停止しますんで」と脅されましたが、筆者はアカウントという単語を知らず( ゚д゚)ポカーンとしていた記憶があります。無知とは怖いもので基本的なコンピュータ用語は押さえておいて損はないと思います。その前にこのネタって以前書きましたっけ?

閑話休題。ユーザアカウント作成の手順は人によって異なりますが、だいたい以下の手順で行います。

ユーザの追加とパスワードの設定
アホなパスワードを設定しないように・・・
グループの作成とユーザへの割り当て
誰がどのグループに所属するかを設定します。
ホームディレクトリの所有権変更
俺のものは俺のもの。
アクセス権の変更
知らない人に秘密ファイルを見られたくない。
確認
ユーザに公開する前に
ユーザの追加とパスワードの設定

ユーザを新規に追加するにはadduserコマンドを使います。adduserコマンドの後ろに追加したいユーザ名を入力して使います。たとえばikemenユーザを追加するのであれば、

#adduser ikemen

コマンドを実行すると以下のようなメッセージが表示されikemenユーザのパスワードを求められますので、パスワードを入力します。

ユーザ ikemen を追加しています…
Adding new group `ikemen' (1003).
Adding new user `ikemen' (1003) with group `ikemen'.
ホームディレクトリ /home/ikemen を作成しています。
/etc/skel からファイルをコピーしています
Enter new UNIX password:

ここではユーザikemenのパスワードとして、

Enter new UNIX password:motemote

を入力しました。ちなみに入力したパスワードは画面には表示されません。入力すると再度パスワードの確認を求められますので、先ほど入力したパスワード"motemote"を再び入力します。

Retype new UNIX password:motemote

※入力したパスワードは画面には表示されません。

パスワードの設定が完了したというメッセージが表示され、引き続きユーザのフルネームを入力します。別に空欄(何も入力せずにEnterキー押下)でも構わないのですが、フルネームを知っていたら入力してあげて下さい。

passwd: password updated successfully
ikemen のユーザ情報を変更中
新しい値を入力してください。標準設定値を利用するならリターンを押してください。
フルネーム []:navi taro

次は部屋番号の入力です。住所のこと?

部屋番号 []:

わけわかめなので何も入力せずEnterキーを押下して次に進みます。さらに職場電話番号、自宅電話番号、その他、などの入力を求められますが面倒臭いのでEnterキー押下。電話番号知っていたら入力して下さい。

職場電話番号 []:
自宅電話番号 []:
その他 []:

これらの項目の入力が全て終わると、確認メッセージが表示されますので"y"を入力します。

以上で正しいですか? [y/N]y

これでユーザの新規追加は完了です。他のユーザ(uedaとgutei)も同様にして追加します。本当にユーザが作成されているか確認してみます。

$ls -al /home
合計 1
drwxrwsr-x  9 root  staff   92 2005-12-30 20:17 .
drwxr-xr-x 21 root  root   1024 2005-11-13 03:45 ..
drwxr-xr-x  2 gutei  gutei   40 2005-12-30 20:12 gutei
drwxr-x---  3 hoge  hoge    71 2005-12-25 20:29 hoge
drwxr-xr-x  2 ikemen ikemen   40 2005-12-30 20:16 ikemen
drwxr-xr-x  2 ueda  ueda    40 2005-12-30 20:17 ueda

新規に追加したユーザのホームディレクトリが追加され、その所有者と所属グループが追加したユーザ名になっています。