via

  • アクセラと+αな生活 : Ubuntu 9.04 で FTP (vsftpd)を構築する。
  • vsftpd 2.3.2でlocal_umask=022がうまく動かない | hirotomium.com

インストール

$ sudo apt-get update
$ sudo apt-get install vsftpd

$ vsftpd -v
vsftpd: version 3.0.2

設定変更

Filezillaからつないでアップしたかったので、755でアップされるように

$ sudo vi /etc/vsftpd.conf

#-以下を変更しました -----

#↓29行目コメントアウト(ファイルのアップロードを許可)
write_enable=YES
#↓33行目コメントアウト
local_umask=022
#↓33行目の下に追加
file_open_mode=0777

#------

$ service vsftpd restart

$ chmod 777 /var/www/html

アップロードしたファイルが755になる原理は

「file_open_mode - local_umask」の値になるから

  • Man page of VSFTPD.CONF

file_open_mode
ファイルがアップロードで作成された場合のファイル・パーミッション。 この値の上に umask がさらに適用される。 実行可能なファイルのアップロードを許可したければ 0777 に変更すればよい。
デフォルト: 0666