• ベストアンサー

chmodについて。パーミッションを、動的に変更したい。

perlのchmod関数についてです。 パーミッションの数値を、パラメータによって動的に変更することができないでしょうか? chmod $permission,$filename; とする場合、あらかじめ $permission = $QUERY{'permission'}; #パラメータで渡す。 のように変数に代入しておくと、別の数値に変更されてしまいます。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

> $permission = $QUERY{'permission'}; #パラメータで渡す。 > のように変数に代入しておくと、別の数値に変更されてしまいます。 $QUERY{'permission'} に入ってくるのは 0で始まる八進数字文字列だったりしますか? もしそうなら、 $permission = oct $QUERY{'permission'}; として八進文字列であることを明確にしてやればよいかと。 なにも指定しないと、文字列→数値変換のときに0が前置されていても 十進数字の文字列として解釈されます。 あと外からの入力をそのまま何らかのパラメータに使うのは脆弱性の元なので やめたほうがよいです。

関連するQ&A