Custom Search

JITAKU_SVR_Wiki

前提

proftpdを使用する場合、ユーザをどのように管理するかが自分では結構重要だと思う。
というのも、OS側でユーザを管理するパターンとファイルで管理するパターンの両方が存在するからだ。

どちらの設定が良いというのはないが、どちらで運用するかで大きく設定が変わってしまうので、きちんとした設計が出来ないと厳しい。

自分の場合はクラウドを使う場面が多く、そのクラウドではユーザ管理はすべてクラウドベンダーが行っている。
こんなパターンだと一々ユーザの追加、削除をするために何営業日も必要としてしまうのでナンセンスだと思う。
(あくまで個人的な意見なので、もちろん管理してもらうメリットもある。)

設定

以下、ユーザをファイルで管理する設定。
基本設定は

に書いているようにこれを基本とする。

必要箇所は、

# vim /usr/local/etc/proftpd.conf

#以下を追記
AuthUserFile                   /usr/local/etc/ftp.passwd
AuthGroupFile                  /usr/local/etc/ftp.group
AuthOrder                      mod_auth_file.c
UseFtpUsers                    off
RequireValidShell              off

だと思っている。
説明は上記リンク先でしているので、そちらを参考に。


ユーザの追加

ユーザの追加をしていく。
ユーザを追加するコマンドはftpasswdというもので、デフォルトではインストールされない。
このコマンドを使用するには、ソースファイルに含まれているのでそれを使用する。

以下の例では、2ユーザを作成する。また、そのユーザ用のホームディレクトリも作成する。

hogeユーザ作成

# mkdir /home/hoge
# chmod 777 /home/hoge
# /usr/local/src/proftpd-1.3.3a/contrib/ftpasswd --passwd \
--file=/usr/local/etc/ftp.passwd --name=hoge --uid=65534 --gid=65534 \
--home=/home/hoge -shell=/bin/bash

hageユーザ作成

# mkdir /home/hage
# chmod 777 /home/hage
# /usr/local/src/proftpd-1.3.3a/contrib/ftpasswd --passwd \
--file=/usr/local/etc/ftp.passwd --name=hage --uid=65534 --gid=65534 \
--home=/home/hage -shell=/bin/nologin

ユーザを管理する場所は任意なので出来ればセキュアなところにおいてあげる。

proftpdでユーザをファイル管理する場合には、どうやら必ずuid、gidが必要となるらしく、ここで特定のユーザを作るのはアホくさいので、
65534のnobodyユーザにマッピングしてあげている。

ログインシェルはログインすることがないのであればnologinで問題ないと思う。

最後に実際にユーザを作成した場合の流れ。

# /usr/local/src/proftpd-1.3.3a/contrib/ftpasswd --passwd \
--file=/usr/local/etc/ftp.passwd --name=foo --uid=65534 --gid=65534 \
--home=/home/foo -shell=/bin/nologin
ftpasswd: using alternate file: /usr/local/etc/ftp.passwd
ftpasswd: creating passwd entry for user foo

ftpasswd: /bin/nologin is not among the valid system shells.  Use of
ftpasswd: "RequireValidShell off" may be required, and the PAM
ftpasswd: module configuration may need to be adjusted.


Password:
Re-type password:

ftpasswd: entry created

これが一連の流れ。

コマンドプロントでFTPのテスト

C:\Users\manager>ftp 192.168.1.1
192.168.1.1 に接続しました。
220 ProFTPD 1.3.3a Server (ProFTPD Default Installation) [192.168.1.1]
ユーザー (192.168.1.1:(none)): foo
331 Password required for foo
パスワード:
230 User foo logged in
ftp> ls
200 PORT command successful
150 Opening ASCII mode data connection for file list
226 Transfer complete
ftp>

※ちなみにユーザを追加するだけであればproftpdの再起動は必要ない


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-12-22 (火) 14:20:54 (697d)