vsftpd 2.3.2でlocal_umask=022がうまく動かない

/etc/vsftpd.confにlocal_umask=0022を設定しても、アップロードしたファイルのパーミッションが0700になってしまう。

# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=0022

umask=0077で0700になるのであれば基準となるパーミションは0777であり、umask=0022に設定すれば0755となると思っていたのだけれど、VSFTPD.CONFのマニュアルによると、ディレクトリ/ファイルが「アップロードで作成された場合」はこの限りではなく、デフォルトは0666である様子。

file_open_mode
The permissions with which uploaded files are created. Umasks are applied on top of this value. You may wish to change to 0777 if you want uploaded files to be executable.
Default: 0666

よって同ファイルにfile_open_mode=0777を追加することで解決した。

# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=0022
file_open_mode=0777

ファイルを「vsftpdを通しながらアップロード以外で作成する」という場面が思いつかず、こうすればとりあえず使える的な内容に。お恥ずかしい限り。

“vsftpd 2.3.2でlocal_umask=022がうまく動かない” への1件の返信

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA