タグ

ブックマーク / fumiyas.github.io (3)

  • test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog

    test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog 拡張 POSIX シェルスクリプト Advent Calendar 2013、15日目の記事です。 書くのが遅れ、ネタは尽きかけ、 マニアックさやニッチさが足りなくなってきているような気がします。 ふつうの内容ですみません。 今日は test, [, [[ コマンドの違いについてざっくり紹介します。 [[ がある bash, ksh, zsh ならば test と [ の使用は避け、 [[ を使用すべきです。 [ は慎重に使わないと様々な罠にかかるため危険です。 (翌日のネタも併わせてどうぞ) test と [ の違い どちらもシェルの組込みコマンドです。名前が違うのと [ は最後の引数を ] にしなければいけない縛りがある以外、 動作まった

    at_yasu
    at_yasu 2022/08/22
  • 安全な一時ファイルの作成と削除の方法 - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog

    拡張 POSIX シェルスクリプト Advent Calendar 2013、6日目の記事です。 日のお題は「一時ファイルの作成と削除」ですが、 よくあるシェルスクリプトのダメ出しネタになってしまいました。 安全な一時ファイルの作成方法 たとえば、こんな感じのありがち(?)なスクリプトがあったとします。 意味のない処理内容ですが、雰囲気だけ察してください。 #!/bin/bash tmpfile=/tmp/words.tmp rm -f $tmpfile echo 'しにたい' >>$tmpfile echo 'とりあえずねよう' >>$tmpfile sleep 3 echo -n '今どんな気持ち? ' read feeling echo $feeling >>$tmpfile cat $tmpfile rm $tmpfile 全然駄目ですね。 もし「何にも問題ないじゃないか!」とい

    at_yasu
    at_yasu 2019/03/04
  • Apache HTTPD: mod_allowfileowner - ダメ出し Blog

    mod_allowfileowner って何? Apache HTTPD 用のフィルターモジュールです。 静的コンテンツファイルの所有者をチェックして、 指定のユーザーが所有していればアクセスを許可し、 そうでなければ拒否します。 静的コンテンツファイルをオープンした後、それを指すファイル記述子に対して fstat(2) を行ないファイル所有者をチェックする実装になっているため、 TOCTOU (Time Of Check to Time Of Use) 問題はありません。 何が嬉しいの? 共有 Web サーバーサービスにおいて、一部のシンボリックリンク攻撃を防ぐことができます。 この攻撃は Options -FollowSymLinks や Options SymLinksIfOwnerMatch 設定では完全には防ぐことはできません。 参考: Apache HTTPD: Options

  • 1