さくっとファイル共有したい場合、windowsだとwindows共有(samba共有)。それが使えない場合は、FTPサーバーかなと思います。
あ、tinyFTPサーバー立てとくかって人もいるかも?かなり少数派だと思うけど。
FTPサーバーをLinuxで使うならvsftpdですよね。で、LAN内で短時間使うだけなら、ユーザー登録が必要ないanonymousでいいじゃんと思い構築しようとしてドはまりした話です。
環境:Ubuntu 20.04 LTS
VSFTPDバージョン:3.0.3 (たぶんapt-getで2022年3月最新)
このページの目次
1.FTPが拒否される
ぎょえー。ユーザー認証すら出てこないよ、これvsftpdの特定のバージョンから書き込み(w)を共有フォルダに与えるとそうなるらしい。以前はrwx全部設定すればOKだったのに。
オーナー設定 nobody:nogroup
アクセス権 a-w (rxだけ活かすなら5なので、chmod 555でいいですね)
2.FTPが拒否されるその2
エラー 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
これはchroot先にこれをいれておけと。なるほど
allow_writeable_chroot=YES
3.anonymousでアップロードが出来ないその1
上記1の関連に絡んでvsdtpd.conf側で設定書かないとアクセスできないらしい。
write_enable=YES
でもまだアップロードできない。今度は何?
4.anoymouusでアップロードが出来ないその2
共有で指定したフォルダ(FTPのルートとなるフォルダ)にはanonymousだと直接アップロードできなくなったとの記事を発見。なぬー。解決方法はサブディレクトリを作成して、そこにアップロード。なるほど、まだアップロードできない。。勘弁して。
5.anoymouusでアップロードが出来ないその3
えーと。anonymousだとデフォルトのパーミッションが600に設定されていることが影響してるらしい。ということで、anonymousの値を変更
anon_umask=022
まだできない。
6.サブディレクトリのパーミッション
こっちは書き込み権が必要ということでアクセス権 a+w (rxだけ活かすなら5なので、chmod 777)こっちは今まで通りかーい。
今度こそアクセス出来ました。
まとめると
[vsftpd.confの設定変更]anonymous_enable=YES
local_enable=no
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
行末追記
anon_root=/var/ftp/
anon_upload_enable=YES
anon_other_write_enable=YES
anon_mkdir_write_enable=YES
allow_writeable_chroot=YES
no_anon_password=YES
anon_umask=022
hide_ids=YES
pasv_min_port=40000
pasv_max_port=50000
FPルートフォルダのアクセス件に書き込み(w)を入れてはいけない。
※ただし書き込み用フォルダのアクセス権には必要。
共有ディレクトリのルートの下にサブディレクトリが必要
/var/ftp/
なら
/var/ftp/pubもアップロード用に用意すること!
あー。お疲れ様です。自分。
こんなことなら通常通りidパスワード付でアクセスするftpサーバー作る方がよっぽど楽だった。
ちなみにanonymousアクセスの場合、ユーザー名はanonymous使うのが普通だけど、ftpでもいいって知ってました?こっちの方がタイプ間違わないのでイイですよね。
ubuntu20.04 LTS 長い付き合いになりそう。よろしくねー。