システムのユーザーを自動的に生成する方法(3) 設定

2009.11.17 22:38
システムのユーザーを自動的に生成する方法(1) 概要
システムのユーザーを自動的に生成する方法(2) 基本的な使い方
システムのユーザーを自動的に生成する方法(3) 設定
システムのユーザーを自動的に生成する方法(4) フォーマットファイル


ini.plの設定


# オーナーの設定
$owner = 'example_user';    # あなたのユーザー名(オーナー)
ユーザー情報ファイルをポスティングするオーナー名(一般ユーザー名)の設定をします。たいていの場合ユーザー名と同様の名前になります。root権限で作成されたファイルなどを一般ユーザーが操作可能なパーミッションに変更するので必ず正しいオーナー名を指定してください。

# ログファイルの設定
$log = 1;  # ログファイルを必要とする場合は1に設定。不必要な場合は0に設定
ログを必要とする場合は1を選択します。ログを取ることを推奨します。また以下の設定でログディレクトリパスを設定し手動でディレクトリツリーを作成してください。

$regist_log_dir = "/home/omnioo/var/log_dir/"; # エラー&システムログはここに書き込まれます。
ログファイルが置かれるディレクトリです。 

$regist_log = "regist_logfile.txt";  # ログのファイル名を指定。(手動で作成する必要はありません。自動的に作成されます。)
特にログを閲覧されることでセキュリティーが脆弱になるということはありませんが、外部から閲覧可能なディレクトリに内のため閲覧不可能にする場合は、xxxx.cgiなどに設定しパーミッションを755などにするとよいです。(Internal server errorで外部から見ることができなくなります。)

# 読み込み用のユーザー情報ファイルの設定
$regist_user_dir = "/home/omnioo/var/user_temp/";  # newusersコマンドが必要とするユーザー情報ファイルを置く場所です。
ユーザー登録のためのユーザー情報ファイルをポスティングするディレクトリです。本スクリプトはこのディレクトリ内の.newuserまたは.deluserファイルを探して処理をします。rootが処理をするディレクトリなのでパーミッションは適当で構いません。

$regist_user_file = ".newuser";   # newusersコマンドが必要とするユーザー情報ファイル名。(隠しファイル推奨)
デフォルトでは.newuser及び.deluserという隠しファイルになっていますが、セキュリティーを考慮する場合は、拡張子.cgiを付加した方がよいかもしれません。Internal Server Errorでアクセスが不可能になります。

# 空きID検索のためのパスワードファイル
$passwd_file = '/etc/passwd';   # 通常はこのままで大丈夫です。
システムのpasswdファイルを読み込みます。ユーザー名の重複や空きIDの検索などに利用します。

# IDの最低値設定
$min_id = 600;   # IDの最低値を設定(600~1000ぐらいが推奨)
ユーザーID(UID)及びグループID(GID)の最小番号を設定します。たいていの場合500番以下はシステムの重要なユーザーが使用済みのため600〜1000以上が推奨です。

# 削除時のユーザー情報ファイルの設定
$delete_user_dir = "/home/omnioo/var/user_temp/";  # newusersコマンドが必要とするユーザー情報ファイルを置く場所です。
読み込み用のユーザー情報ファイルを置くディレクトリと同じ場所を指定していますが、下記に指定するファイル名が重複しないように注意してください。

$delete_user_file = ".deluser";  # newusersコマンドが必要とするユーザー情報ファイル名。(隠しファイル推奨)
削除用のユーザー情報ファイル名を指定します。

# バックアップディレクトリ
$backup_home_dir = "/home/omnioo/var/backup_home/";  # 削除時のホームディレクトリバックアップディレクトリ
システムユーザー削除時に/home/以下のディレクトリを丸ごとバックアップします。バックアップ後のファイルはオーナーの変更はしていませんので一般ユーザーでの操作はできません。rootから操作してください。

# スタートアップファイルのディレクトリ
$startup_files = "/home/omnioo/var/startup_file/";   # スタートアップ時のWebserverの初期ファイル(index.phpなど)
Webサーバー作成時のスタートアップファイルを置く場所です。index.htmlなどを保存しておきます。ユーザー登録時にこのディレクトリからファイルがコピーされオーナーを変更しWebブラウザーから閲覧可能になります。

# FTPサーバーchrootリストのファイルパス
$chroot_path = "/etc/vsftpd.chroot_list";
FTPサーバー作成時に自身のhomeディレクトリ以上を閲覧不可能なようにします。ここではvsftpでの設定のみをしています。その他のFTPサーバーでの設定はできません。

# MySQLの設定
$driver = "mysql";     # 通常そのまま
$database="dummy_connect";    # データベース名(*)(rootでDBやユーザーを作成する場合はそのまま)
$hostname="localhost";    # 通常そのまま
$user='root';   # ユーザー名(root以外は使用できません。)
$password='dummy_passwd';    # パスワード(root以外のパスワードは使用でません。)

$db_dir="/var/lib/mysql/";    # MySQLデータベースの格納先ディレクトリ
$backup_database = "/home/omnioo/var/backup_mysql_detabase/"; # データベースバックアップディレクトリ

# (*) MySQLの操作ではユーザー接続ではなく、データベースに接続します。ですからMySQL操作のためのDummyのデータベースをrootユーザー権限で
# 作成しておく必要があります。Dummyのデータベース名は何でもかまいません。
MySQLの各種設定を行います。自動的にスクリプト処理を行うには必ず何らかのデータベースに接続する必要があるのでroot権限でダミーのデータベースに接続します。(中身は空で構いません。)ここではdummy_connectというデータベースに接続する設定になっています。このデータベースは予め作成しておいてください。
ユーザー削除時にデータベースのバックアップを行います。ここでもオーナーの変更はなくそのままディレクトリを移動するだけなので後から処理する場合はroot権限で行ってください。







プロフィール



  • Name :: 山上オサム ♂(39)
  • Hobby :: 武術
  • Work :: Web Designer