サーバーの不具合について

11/20から断続的にDBがダウンしていた。アクセスログなどを確認すると、どうも怪しい場所からの連続アクセスがあったみたい。現在は復旧済。

アクセスされた方にはご迷惑をおかけいたしました。

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を通しながらアップロード以外で作成する」という場面が思いつかず、こうすればとりあえず使える的な内容に。お恥ずかしい限り。

jQuery ui datepickerで入力可能な日付の制限をする

jQuery UIのdatepickerで、入力可能な日付の制限を別に入力された値によって変化させる方法を調べてみた。最初は、選択ボックスの更新時に

$( "#datepicker" ).datepicker({ minDate: '-1m', maxDate: '+1m' });

などと単純に再呼び出しをすれば良いかと思っていたけれど、それでは更新されなかった。そこでマニュアルをよく読んでみると、次の記述の通りsetterのような使い方をしないといけなかった様子(よく読んでいなかっただけ・・・)。

Get or set the maxDate option, after init.
//getter
var maxDate = $( ".selector" ).datepicker( "option", "maxDate" );
//setter
$( ".selector" ).datepicker( "option", "maxDate", '+1m +1w' );

結果、無事に更新が出来るようになった。そのサンプルはこちら。

2012年1月10日追記

onCloseを利用して日付の選択時にチェックを行うように変更した。例えば、土日のみ/ある特定日のみなど。ある一定期間内での入力制限はできても、同じ事を個別にはできなさそうなので、取りあえずはこんなふうにするしかないのかなあ。

また、ソースコードは次の通り。

[php]




日付取得サンプル

jQuery ui datepickerで入力可能な日付の制限をする


プラン選択
日程選択



[/php]