彩音 - UNIX - 研究室:XION - UNIX -laboratory
FTPd ユーザ管理
FTPd のユーザは、通常のシステムユーザです。FTPd を使用するユーザを追加する場合は、システムにユーザを追加してください。
FTPd にアクセスするユーザとしては使用したいものの、システムにはログインさせたく無いという場合は、ログインシェルを /sbin/nologin (/usr/sbin/nologin)に変更し、/etc/shells に /sbin/nologin (/usr/sbin/nologin)を追加しておきます。/etc/shells に /sbin/nologin (/usr/sbin/nologin)を追加しておかないと、ログインシェルを /sbin/nologin (/usr/sbin/nologin)に変更したユーザでは FTPd にログインできないので注意して下さい。
FTPd にアクセスするユーザは、基本的にシステムにログインするユーザと同じようにシステム内を閲覧できます。閲覧範囲を、そのユーザのホームディレクトリ以下に限定したい場合や、ホームディレクトリではなく特定のディレクトリに制限したい場合は、/etc/ftpchroot に設定を追加します。もし、/etc/ftpchroot がなかった場合は、新規に作成して下さい。

% vi /etc/ftpchroot

たとえば、/etc/ftpchroot ファイルに以下のように設定を記述しておくと、ユーザは自分のホームディレクトリ以下だけが閲覧できるようになります。

@


@ はグループ名を指定する場合に、先頭に指定する文字です。@ だけしかない場合は、すべてのグループが対象になるので、すべてのユーザが対象ということになります。ディレクトリが省略された場合は、そのユーザのホームディレクトリが指定されるので、全ユーザが自分のホームディレクトリだけを閲覧できるようになります。

ユーザを特定して閲覧可能領域を指定する場合


xion /home/share/ ./xion

上記のように描いておけば、ユーザ xion は /home/share/ 以下にだけアクセスできるようになります。

public_html 以下だけを閲覧可能にする場合


@ public_html

上記のようにすれば、ホームディレクトリ以下のpublic_html/ 以下だけが閲覧可能になります。ユーザのホームページの更新だけを許可するといった設定です。

特定のユーザのアクセスを禁止したい場合

特定のユーザのアクセスを禁止したい場合は、/etc/ftpusers にユーザ名かグループ名を追加します。グループ名は先頭に @ を付けて指定します。すでに root などのいくつかのユーザが、ftp できないユーザとして /etc/ftpusers に記述されています。