アクセラと+αな生活
アクセラとα350と共に過ごす気まぐれ日記です。
Firefox ブラウザ無料ダウンロード
2017年07月
≪06月  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31    08月≫
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
VineLinux 5 ではProFTPD が標準でインストールされていましたので、ProFTPD で FTP 環境を構築しました。

Ubuntu にも ProFTPD はあるのですけど、同じのインストールしても芸がないですね。。。
なので、Ubuntu 君には vsftpd でFTP を構築してみます。

とはいえ、vsftpd は初めて使います。。。
vsftpd はなんかよく分からない。。。試行錯誤してます。。。。><;


まずは vsftpd をインストール。

パッケージがあるので、いつも通り、「apt-get」を利用します。

【インストール】

$ sudo apt-get update

~ 略 ~

$ sudo apt-get install vsftpd
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
linux-headers-2.6.28-11 linux-headers-2.6.28-11-generic
これらを削除するには 'apt-get autoremove' を利用してください。
以下の特別パッケージがインストールされます:
libcap1
以下のパッケージが新たにインストールされます:
libcap1 vsftpd
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 46 個。
108kB のアーカイブを取得する必要があります。
この操作後に追加で 471kB のディスク容量が消費されます。
続行しますか [Y/n]? y
取得:1 http://jp.archive.ubuntu.com jaunty/main libcap1 1:1.10-14build1 [9156B]
取得:2 http://jp.archive.ubuntu.com jaunty/main vsftpd 2.0.7-0ubuntu1 [98.7kB]
108kB を 0s で取得しました (162kB/s)
未選択パッケージ libcap1 を選択しています。
(データベースを読み込んでいます ... 現在 167632 個のファイルとディレクトリが
 インストールされています。)
(.../libcap1_1%3a1.10-14build1_i386.deb から) libcap1 を展開しています...
未選択パッケージ vsftpd を選択しています。
(.../vsftpd_2.0.7-0ubuntu1_i386.deb から) vsftpd を展開しています...
man-db のトリガを処理しています ...
libcap1 (1:1.10-14build1) を設定しています ...

vsftpd (2.0.7-0ubuntu1) を設定しています ...
システムユーザ `ftp' (UID 116) を追加しています...
新しいユーザ `ftp' (UID 116) をグループ `nogroup' に追加しています...
ホームディレクトリ `/home/ftp' は作成しませんでした.

* Starting FTP server: vsftpd [ OK ]

libc6 のトリガを処理しています ...
ldconfig deferred processing now taking place


これでインストールはできたようです。
「Starting FTP server: vsftpd [ OK ]」と出ているので、サービス起動もできています。

よく分からないのは、「ホームディレクトリ `/home/ftp' は作成しませんでした.」というメッセージ。。。
「作成しませんでした」といいながら、「/home/ftp」は作成されてます
Ubunutu の vsftpd パッケージは意味が分からん。。。><;


$ ls -l /home/
合計 12
drwxr-xr-x 2 root nogroup 4096 yyyy-mm-dd hh:mm ftp

匿名ログインを前提にしているので、作成するのは当然の動作だけど、メッセージはどうかして欲しいかなw

さて、vsftpd のデフォルトだと、
 ・匿名ログインが可能で一般ユーザはログインできない。
 ・「get」 のみ可能で「put」ができない
設定となるようです。
イメージとしては、外部公開用のダウンロード専用のファイルサーバですね。

うちの環境としては
 ・匿名ログインはログインj不許可
 ・OS の一般ユーザはログイン許可
 ・ファイル操作は「put」、「get」を許可
という設定に変更します。

【設定の変更】
「vsftpd」の設定は「/etc/vsftpd.conf」になります。

vi で設定ファイルを編集します。
$ sudo vi /etc/vsftpd.conf

以下の箇所を変更

# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO

「anonymous_enable」は匿名ログインの許可・不許可設定です。
匿名ログインを不許可にするため、「anonymous_enable=NO」とします。


# Uncomment this to allow local users to log in.
local_enable=YES

「local_enable」は一般ユーザのログイン許可・不許可設定です。
一般ユーザのログインを許可するため、「local_enable=YES」とします。


# Uncomment this to enable any form of FTP write command.
write_enable=YES

「write_enable」は「put」(サーバへのファイルアップロード)の許可・不許可設定です。
「put」を許可するため、「write_enable=YES」とします。


# You may restrict local users to their home directories. See the FAQ for
# the possible risks in this before using chroot_local_user or
# chroot_list_enable below.
chroot_local_user=YES
chroot_local_user=NO

「chroot_local_user」はユーザのホームディレクトリより、上位のディレクトリへの移動許可・
不許可の設定です。

ホームディレクトリ以外のアクセスを許可する場合は「chroot_local_user=NO」、
許可しない場合は「chroot_local_user=YES」とします。



これで、設定は完了。
設定を反映させるため、再起動します。
$ sudo /etc/init.d/vsftpd restart
* Stopping FTP server: vsftpd [ OK ]
* Starting FTP server: vsftpd [ OK ]


ためしに、接続確認してみると
 ・匿名ユーザではログインできない
 ・一般ユーザではログインできる
 ・ファイルのアップロードができる
という動作になることを確認できましたww

OK かも~ww



匿名ログインを有効にする場合は

 ・「anonymous_enable=YES」で匿名ログインを許可する
 ・「write_enable=YES」で書込みを許可するか、「write_enable=NO」で書込みを不許可に設定する
  (ダウンロード専用なら、「write_enable=NO」に設定)
 ・「anon_upload_enable=YES」でアップロードを許可するか、「anon_upload_enable=NO」でアップロードを不許可に設定する。
  (ダウンロード専用なら、「anon_upload_enable=NO」に設定)

と設定すれば匿名ログインが可能になります。

ただし、「/home/ftp」は root が所有者で他ユーザには書き込み権限がありません。
匿名ユーザでアップロードを可能にするには、
 ・「/home/ftp」に書込み権限を与える
 ・「/home/ftp」配下にアップロード用のディレクトリを作成し、作成したディレクトリへその他ユーザの書込み権限を与える
など、する必要があります。
(一般的には、こんな場合どうするんだろう。。。よく分からん。。。)


また、「anon_mkdir_write_enable=YES」とすれば、匿名ログインしたユーザでも、ディレクトリを作成できるようになります。

「vsftpd.conf」は他にもいろいろ設定できるようです。
man やらで調べながら設定を試行錯誤している状態なので、不明点もたくさん。。。><;



以下は検証中。。。確認できてません。

匿名ログインでは、「ftp」ユーザが匿名ログインのユーザとして扱われるはず。
ということは、匿名ログインで使用されるディレクトリは「ftp」ユーザのホームディレクトリである、「/home/ftp」になるはず。

なので、匿名ログインのディレクトリを変更する場合、「usermod」で「ftp」ユーザのホームを変えればできるかと。

$ sudo usermod -d <変更したいディレクトリ> ftp


ってな感じでね。


コメント
この記事へのコメント
URL :
コメント :
パスワード :
管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
Template designed by アクセラと+αな生活

Powered by .
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。