02) ドキュメントルート専用のFTPアカウント追加
メインドメインのドキュメントルート(/www/htdocs/)へのFTPアクセスは、管理者ユーザーのみ可能です。
しかし、WEB制作を外注する場合などに管理者ユーザー情報を安易に伝えることはセキュリティ上好ましくありません。そこで、ドキュメントルートにアクセス可能なFTPアカウントを追加し、管理者ユーザー権限とドキュメントルートへのFTP作業を分けることを推奨します。
まず、通常どおりユーザーを作成します。
※ユーザーにFTPアクセス権限を付与してください。
※ホームディレクトリは通常どおり「/home/ユーザー名」で作成してください。この時点で「/www/htdocs」を指定することはできません。
※「# 」はその行がコマンドであることを表す記号ですので、入力しないでください。
以下コマンドで、グループファイルの編集を行います。
以上で設定完了です。
しかし、WEB制作を外注する場合などに管理者ユーザー情報を安易に伝えることはセキュリティ上好ましくありません。そこで、ドキュメントルートにアクセス可能なFTPアカウントを追加し、管理者ユーザー権限とドキュメントルートへのFTP作業を分けることを推奨します。
※この設定はメインドメインのドキュメントルートに対してのみ有効です。サブホストのドキュメントルートに対しての設定はCGIの動作環境に影響が出る等の問題があり、対応およびサポートは行っておりませんのでご了承ください。
※このページでご案内する作業は、SSH接続やコマンド操作、「vi」コマンドの利用が可能なお客さまを対象としています。操作がご不明なお客さまは設定代行オプションをお申し込みください。
※このページでご案内する作業は、SSH接続やコマンド操作、「vi」コマンドの利用が可能なお客さまを対象としています。操作がご不明なお客さまは設定代行オプションをお申し込みください。
1) ユーザー設定
ここでは、ex_ftpというユーザー名での設定例をご案内いたします。まず、通常どおりユーザーを作成します。
※ユーザーにFTPアクセス権限を付与してください。
※ホームディレクトリは通常どおり「/home/ユーザー名」で作成してください。この時点で「/www/htdocs」を指定することはできません。
2) パスワードファイルの編集
サーバーにSSHで接続をし、suコマンドにてrootユーザーに変更後、以下のコマンドを実行します。※「# 」はその行がコマンドであることを表す記号ですので、入力しないでください。
パスワードファイルのあるディレクトリに移動
# cd /etc
以下のコマンドを実行
# vipw
すると、以下のようにユーザー設定情報が表示されます。
この部分を赤文字のようにドキュメントルート「/www/htdocs」に変更します。
ex_ftp:$1$xxxxxxxxx1:1004:1004::0:0:ex_ftp:/home/ex_ftp:/sbin/nologin
↓
ex_ftp:$1$xxxxxxxxx1:1004:1004::0:0:ex_ftp:/www/htdocs:/sbin/nologin
# cd /etc
以下のコマンドを実行
# vipw
すると、以下のようにユーザー設定情報が表示されます。
# $FreeBSD: src/etc/master.passwd,v 1.25.2.6 2002/06/30 17:57:17 des Exp $
#
root:$1$xxxxxxxxxxx0/:0:0::0:0:Charlie &:/root:/bin/csh
toor:*:0:0::0:0:Bourne-again Superuser:/root:
daemon:*:1:1::0:0:Owner of many system processes:/root:/sbin/nologin
:
中略
:
ex_ftp:$1$xxxxxxxxx1:1004:1004::0:0:ex_ftp:/home/ex_ftp:/sbin/nologin
上記の「ex_ftp:」の記述のある行で、以下の緑色の部分が「ex_ftp」ユーザーのドキュメントルートを示しています。root:$1$xxxxxxxxxxx0/:0:0::0:0:Charlie &:/root:/bin/csh
toor:*:0:0::0:0:Bourne-again Superuser:/root:
daemon:*:1:1::0:0:Owner of many system processes:/root:/sbin/nologin
:
中略
:
ex_ftp:$1$xxxxxxxxx1:1004:1004::0:0:ex_ftp:/home/ex_ftp:/sbin/nologin
この部分を赤文字のようにドキュメントルート「/www/htdocs」に変更します。
ex_ftp:$1$xxxxxxxxx1:1004:1004::0:0:ex_ftp:/home/ex_ftp:/sbin/nologin
↓
ex_ftp:$1$xxxxxxxxx1:1004:1004::0:0:ex_ftp:/www/htdocs:/sbin/nologin
3) グループファイルの編集
ここでは「vi」という特殊な編集コマンドを利用します。viコマンドを理解されていない場合は、実行しないでください。
viコマンドのご利用方法はサポートの対象外となります。専門書籍等にてお調べいただけますようお願いいたします。
以下コマンドで、グループファイルの編集を行います。
# cd /etc
# vi group
viコマンドでgroupファイルを開くと、以下のようになっています。
# vi group
viコマンドでgroupファイルを開くと、以下のようになっています。
# $FreeBSD: src/etc/group,v 1.19.2.3 2002/06/30 17:57:17 des Exp $
#
wheel:*:0:root,admin
daemon:*:1:daemon
:
中略
:
ftp:*:21:admin,managed,ex_ftp
:
中略
:
webadmin:*:79:admin
:
中略
:
ex_ftp:*:1004:
赤字の「webadmin」グループに、「ex_ftp」ユーザーを追加します。wheel:*:0:root,admin
daemon:*:1:daemon
:
中略
:
ftp:*:21:admin,managed,ex_ftp
:
中略
:
webadmin:*:79:admin
:
中略
:
ex_ftp:*:1004:
webadmin:*:79:admin,ex_ftp
4) ドキュメントルートのパーミッション変更
以下のコマンドで、ドキュメントルートのパーミッションを変更します。
# cd /www/
# chmod 775 htdocs
# chmod 775 htdocs
以上で設定完了です。
