ユーザー登録&ディレクトリの作成
ユーザーとグループの登録作業の実例

 演習形式でサーバー構築
★今回の解説では、実際のサーバー構築を模してみたいと思います。以下のような例で作業をすすめます。
 ユーザー登録者及びグループ構成例
★15名の構成員からなる組織です。実際はもっと大勢ですが、作業自体は変わりません。
 このメンバー表はエクセルで作ってありますが、ユーザー管理用に表計算をつかってファイルを作っておくことをお奨めします
 詳しくは後ほど説明します。
ユーザー名は英半角小文字。パスワードは小文字英数字で6桁以上です。
★「kanri」グループはサーバ管理者です。
★サーバーには、全員がアクセスできる「allmember」のディレクトリと、特定のメンバーだけがアクセスできる「zinzi」、「soumu」、「eigyou」の3つの個別ディレクトリを作成します。
★「member」ディレクトリを作成し、その階層下に個人だけが利用できるディレクトリを設定します。
 ディレクトリの階層図
【作業手順】
(1)home直下の6つのグループ階層のディレクトリを、ユーザー登録の方法で作成します。
(2)home2つ階層下の個人用ディレクトリは人数が多いので、バッチファイルを作成して、Webminのバッチ処理で自動作成します。
(3)Linuxマシンの「ターミナル」を使用して、各フォルダが、読込み/書込み(フルパス) 出来るようにパーミッションの一括変換を行います。
★親ディレクトリ(フォルダ)になる「home」は、初期設定でLinux上で作成済みです。Webminでユーザー登録し、フォルダを自動作成にした場合は、このhomeの階層下に作成されます。親ディレクトリを変更したい場合は、ユーザー登録時にディレクトリ指定して作成します。
(例)自動作成の場合→ /home/[ユーザー名で自動作成されるディレクトリ]
   個別作成の場合→ /[A]/[B] ※この場合は、[A]はhomeと同じ階層になります。
 (1)手順1 グループとユーザー登録・ディレクトリの作成
★システム・カテゴリの「ユーザーおよびグループ」をクリック
★ユーザーの一覧表が表示されます。「新しいユーザーを作成」をクリック
★ユーザーの作成が表示される。
 ・ユーザー名に「allmember」と入力
 ・ユーザーIDは特に指定する必要がなければ自動
 ・ホームディレクトリはhome下に作るので、これも自動
 ・パスワード→allmemberは全員共用のディレクトリなので不要にしておく
 ・パスワードのオプションは以下のとおりに入力
  最小無変更日数 0
  警告日数      7
  最大無変更日数 99999
  未使用日数    0
 ・所属するグループでは、ユーザー名と同じグループになるので
 「New group with same name as user」にチェック。
 ・作成時の処理はデフォルトのまま

「作成」をクリック
★ユーザー:allmemberと、
★グループ:allmemberが
 作成された。

同じ方法で、
 「kanri」 「zinzi」 「soumu」 
 「eigyou」 「member」
 を作成する。
 (2)手順2 構成員全員の登録をバッチ処理で一括実行する
★以上のやり方で、一つ一つ登録作業ができます。また、ユーザー一覧からユーザー名をクリックすれば、後からそのユーザーの登録内容を変更することも可能です。
★次に、大勢いる構成員を一人ずつ登録するのは大変ですから、「バッチファイル」を作って、一度で作業が済むようにします。
 バッチファイルはテキストエディタで作成する
★テキスト形式で作成されるバッチファイルの、一人分の記述は以下のとおりです。
 
 create:username:passwd:uid:gid:realname:homedir:shell:min:max:warn:-
 inactive:expire
 ★先頭のcreate は登録を意味します。

 変更の場合は、modify 
 modify:oldusername:username:passwd:uid:gid:realname:homedir:shell:-
 min:max:warn:inactive:expire

 削除の場合は delete   になります。
 delete:username
 バッチファイルを簡単に作るためにEXCELを利用する
★一括処理といっても、エディタで一人ずつ記述するのは大変です。そこで、表計算ソフトを使って、一括コピーする形でバッチファイルを作ります。今回はエクセルを使いました。
★サンプルで50人分登録できるシートを作ってみました。
 ・記述はすべて半角英数字です。間違えるとエラーで動きません。
 ・一人分を1行で記述します。それぞれの項目の間に半角の: (コロン)で区切ります。
 ・整理用にAとBの列には番号が入っていますが、この列はバッチ処理には使用しません。
 ・gid グループIDはWebminのユーザー&グループの一覧で確認して下さい。
  今回は全員をallmemberに登録しますので、gid は 501 です。
 ・入力した内容を結合するために、ACの列に、結合の書式を[  ]&[  ]&・・・で入れました。
 ・登録人数を増やしたい場合は、セルの数式をコピーして幾らでも増やせます。
 ・入力が完了したら、セル「AC1」から最後の登録者「AC[ ]」まで範囲指定してコピーします。

  ★エクセル・バッチファイル作成ツール=サンプルはこちらから

 メモ帳などのテキストエディタを開いて、ペーストして下さい
★バッチファイルが出来ました。分かりやすい名前を付けて保存して下さい。
 ・ここでは testbat.txt で保存します。   サンプルはこちらから
 Webmin上でバッチ処理を実行する
★「ユーザーとグループ」の画面で、
 Create, modify and delete users from batch file  をクリック。
★参照をクリックして、ローカルに保存されているバッチファイルを選択。
 ・下の各設定の選択は必要に応じて変更する。
 ・「バッチを実行」をクリック
★一人ずつ自動作成され、結果が表示される。
★ユーザーの一覧表で確認してみる。全員が登録されている。
 所属グループへのユーザー登録の設定
kanri グループへ abe と  inoue を登録する
★グループ一覧から kanri をクリック
★グループの詳細が表示されたら、メンバー選択をクリック
★ユーザー選択が表示されたら、左側のユーザー一覧から、abe と inoueを選択クリック
 右側の「選択されたユーザー」への登録を確認したら 「OK」

 以上の方法で、zinzi soumu eigyou の各所属グループのメンバーを登録する。
 (3)手順3 作成されたすべてのディレクトリのアクセス権限をフルパスにする
★ディレクトリのパーミッション(アクセス権限)の変更はLinux上でコマンド実行する。
 ※この作業を実施しないと、共有ディレクトリが読み取り専用になり、書き込めなくなる。
★Linuxのメイン・メニュー→「システムツール」→「ターミナル」を開く
 ・cd /home   で home のディレクトリに入る。
 ・dir        で ディレクトリ内のサブ・ディレクトリを確認する。
 ・chmod -R 777 /home とコマンドを入力して実行する。
 ・以上の操作で、home下のすべてのディレクトリの実行権限がフルパスに変更されました。

<説明>
 ・cdmod はパーミッション変更のコマンド
 ・-R のオプションは、階層下のすべてディレクトリに適用
 ・777 はフルパスを指定
 ・/home はディレクトリを指定
 以上でサーバーで運用されるすべてディレクトリの準備が出来ました。
 ファイル共有の設定、認証の設定にすすみます。