vsftpd によってリモート ユーザのアップロードが可能になれば、ユーザの web ページ公開に必要な措置は、新規ユーザ ディレクトリのパーミッション変更を残すのみとなる。
あとは必要に応じてスケルトン (ユーザ環境の雛型) の作成、容量制限を行う。
目標としている実習用ネットワークの、ユーザに割り当てる環境は次の通りであった。
- 【 容量 】
1 アカウントあたり 100 MB
- 【 ディレクトリ構成 】
/home |
| |-- <UserName> |
| | |--- <public_html> | ( html ファイルのアップロード位置 ) |
| | |--- <cgi-bin> | ( cgi ファイルのアップロード位置 ) |
これらを踏まえて以下の作業を行う。
新規登録したユーザのホーム ディレクトリ (上表の <
UserName> ) は、パーミッション 700 で生成される。
セキュリティが考慮されたパーミッションであるが、このままでは web ページの公開 (第 3 者による参照) ができない。
また、ユーザがファイルの追加・編集・削除を行えるのを public_html と cgi-bin ディレクトリに制限することから、
ホーム ディレクトリのパーミッションは 555 に変更する必要がある。
ユーザ アカウント作成後、次の手順でパーミッションを変更する。
( ユーザ名を client とした場合の例 )
- client のパーミッション確認。
- パーミッション変更。
- client のパーミッション再確認。
▼ パーミッション変更は、ユーザ追加の必須項目。
新規ユーザのホームディレクトリは chmod 555 で変更する。
/etc/skel ディレクトリは、ユーザ アカウント追加時のスケルトン (ユーザ環境の雛型) として機能し、その内容はユーザ ディレクトリにコピーされる。
ユーザ アカウントを追加するとき、public_html や cgi-bin ディレクトリも自動作成されるよう、スケルトン (/etc/skel) に変更を加える。
- /etc/skel に移動し、public_html と cgi-bin を作成する。
- 作成ディレクトリの確認。