質問: Perlのopen関数ですが、open(FILE,">###.cgi")でファイルを作ったら属性が644でファイルを直接アクセスしようとしたらエラーが起きてしまいました。 この属性を755に変えるにはどうすればいいですか?
回答: ファイルを作成した場合に、そのファイルの属性はお使いの OS の umask値できまります。 umask値が 0022 であれば、新規作成したファイルの属性は 644 となります。 ファイルの属性を変更したい場合は OS 上で chmod コマンドを使って変更します。 以下は Ubuntu での実行例です。dolphin@dell8300:~$ umask 0022 dolphin@dell8300:~$ touch newfile dolphin@dell8300:~$ ls -l newfile -rw-r--r-- 1 dolphin dolphin 21 2011-11-02 09:34 newfile dolphin@dell8300:~$ chmod 755 newfile dolphin@dell8300:~$ ls -l newfile -rwxr-xr-x 1 dolphin dolphin 21 2011-11-02 09:34 newfile [参考記事] ファイル新規作成時のパーミッションを変更するには 【 umask 】 ファイル作成時のパーミッションを指定する 【 touch 】 ファイルのタイム・スタンプを変更する 【 chmod 】 ファイルやディレクトリのアクセス権を変更する 【 ls 】 ファイルやディレクトリの情報を表示する [追記] Perl スクリプト内で chmod を使う方法については以下の記事を参考にしてください。 chmod【perldoc.jp】