
Ubuntu日本語フォーラム

ログインしていません。
投稿者です。途中で投稿してしまったため、返信を用いて続きを記載します。
OS:ubuntu server 12.04
vsftpd:2.3.5
現在、家庭用FTPサーバを設立しようと思いvsftpd-2.3.5を利用しています。ただ、本版数はchrootを利用する場合、ホームディレクトリの書き込み権限を
除外する必要があるという記事を見つけました。
そこで、上記仕様はvsftpd-3.0.0以降だとvsftpd.confの設定次第で無効にできるとのことなので、vsftpd-3.0.0のインストールを試していますがうまくいきません。
具体的には/usr/local/src/vsftpd-3.0.2/vsftpd-3.0.2配下でmakeコマンドを実施したのですが以下メッセージが表示されてしまいます。
sysdeputil.o: In function `vsf_sysdep_check_auth':
sysdeputil.c:(.text+0x109): undefined reference to `crypt'
sysdeputil.c:(.text+0x13a): undefined reference to `crypt'
collect2: ld はステータス 1 で終了しました
make: *** [vsftpd] エラー 1
つい最近LINUXを触り始めたばかりなので、基本的なことが出来ていないのだろうと思います。
心当たりがある方、ご教授いただけると幸いです。
オフライン
vsftpd-3.0.2のコンパイルに関して:
1. エラーメッセージは'crypt'というシンボルが見つからないというエラーです。
2. そこでman cryptすれば、cryptをリンクするには-lcryptが必要だということが判ります。
3. Makefileを読んでいただければ判ると思いますが、./vsf_findlibs.shコマンドで-lcryptライブラリを探しているところが判ります。
4. find /usr/lib -name 'libcrypt.*' を実行すれば/usr/lib/i386-linux-gnu/ ディレクトリにlibcryptライブラリがあることが判ります。
5. そこで、./vsf_findlibs.sh を編集します。
else
locate_library /usr/lib/i386-linux-gnu/libc && echo "-lcrypt" #この行を追加。
locate_library /lib/libcrypt.so && echo "-lcrypt";
locate_library /usr/lib/libcrypt.so && echo "-lcrypt";
locate_library /usr/lib64/libcrypt.so && echo "-lcrypt";
locate_library /lib/x86_64-linux-gnu/libcrypt.so && echo "-lcrypt";
fi
6. makeをやり直す。
これで私はコンパイルに成功しました。
gelneed による投稿:
投稿者です。途中で投稿してしまったため、返信を用いて続きを記載します。
OS:ubuntu server 12.04
vsftpd:2.3.5
現在、家庭用FTPサーバを設立しようと思いvsftpd-2.3.5を利用しています。ただ、本版数はchrootを利用する場合、ホームディレクトリの書き込み権限を
除外する必要があるという記事を見つけました。
ところで、私はこの文章の意味を理解しかねています。
せめて「見つけた」「記事」というのを示していただければ何かわかるのかもしれませんが…。
オフライン
>>ItSANgoさん
解決のフローまで示してくださってありがとうございました。
tar.gzからインストールするのは初めてだったので大変参考になりました。
ありがとうございました。
ところで、chrootをローカルユーザーが使用する場合、ホームディレクトリに
書き込み権限が付与されているとFTPにてログインが出来ないという事象が
vsftpd2.3.5にはあるようです。その解決手段としてvsftpd3.0.0以降では
ホームディレクトリに書き込み権限があってもログインが出来るvsftpd.confに
設定(機能)が追加されたようです。そのため、今回3.0.0移行の導入を試みた
というわけです。
[参考]ttp://ad710.com/blognplus/index.php?e=97
オフライン