Armadilloフォーラム

Alpine:3.22にアップグレードするとvsftpdのバーチャルユーザーでログインできない

k.sato

2025年9月1日 16時32分

==========
製品型番:Armadillo-640
ABOSバージョン:3.21.3-at.12
カーネルバージョン:5.10.237-0-at
その他:コンテナ:alpine 3.22
==========

佐藤と申します。
お世話になっております。

コンテナのAlpineバージョンを3.18→3.19→3.20とアップグレードしても
設定が引き継がれてFFFTPにてログインできていたのですが、
Alpine:3.22にアップグレードしたところ
FFFTPからのログイン時にパスワード要求されてしまうようになりました。

●FTP サーバの構築(ABOS)
https://armadillo.atmark-techno.com/forum/armadillo/17264

上記にてvsftpd + pam.dにてバーチャルユーザでログインできるようになっていました。

htpasswdにて新しくpasswdファイルを作成してもダメでした。
設定ファイルを添付します。

またATDEからcurlで確認してみたのですが下記のようになりました。

atmark@atde9:~$ curl -v ftp://user:passwd@10.1.2.3
*   Trying 10.1.2.3:21...
* Connected to 10.1.2.3 (10.1.2.3) port 21 (#0)
< 220 (vsFTPd 3.0.5)
> USER adminuser0
< 331 Please specify the password.
> PASS adminuser0
< 530 Login incorrect.
* Access denied: 530
* Closing connection 0
curl: (67) Access denied: 530

どのあたりがアップグレード前後で変わってしまったのでしょうか?

以上、よろしくお願い致します。

ファイル ファイルの説明
etc.zip Armadill-640コンテナ内のFTP関係設定ファイル
コメント

at_dominique.m…

2025年9月2日 10時35分

マルティネです。

> どのあたりがアップグレード前後で変わってしまったのでしょうか?

alpine 3.22 で pam のディレクトリが変わりましたので、pam_pwdfile.so を /lib/security ではなく /usr/lib/security にインストールする必要があるそうですが、それでしょうか。
この点以外は前の alpine バージョンと変わらないように見えます

よろしくお願いします

マルティネ様

佐藤です。
回答ありがとうございます。
> > どのあたりがアップグレード前後で変わってしまったのでしょうか?
>
> alpine 3.22 で pam のディレクトリが変わりましたので、pam_pwdfile.so を /lib/security ではなく /usr/lib/security にインストールする必要があるそうですが、それでしょうか。
> この点以外は前の alpine バージョンと変わらないように見えます
インストール先を/usr/lib/securityに変更したところ
FFFTPで今まで通りログインできるようになりました。
ありがとうございました。

> alpine 3.22 で pam のディレクトリが変わりましたので、pam_pwdfile.so を /lib/security ではなく /usr/lib/security にインストールする必要があるそうですが、それでしょうか。
今後のために教えていただきたいのですが
これはどのように調べればよいのでしょうか?

以上、よろしくお願い致します。

at_dominique.m…

2025年9月2日 11時59分

マルティネです

> > alpine 3.22 で pam のディレクトリが変わりましたので、pam_pwdfile.so を /lib/security ではなく /usr/lib/security にインストールする必要があるそうですが、それでしょうか。
> 今後のために教えていただきたいのですが
> これはどのように調べればよいのでしょうか?

vsftpd のログ違って pam のエラーは syslog に出力されますので、ファイルを見つかりませんなどのエラーが表示されていたと思います。
デフォルト状態ですとコンテナの syslog は保存されてないですが、他の syslog の処理なければ「add_volumes /dev/log:/dev/log:ro」をコンテナのコンフィグに追加すれば ABOS側の /var/log/messages で確認できます

(ついでに vsftpd.conf に syslog_enable=YES を設定するとログがそこにまとまって、今後またなにかの問題があれば解析しやすいかもしれません)

よろしくお願いします