数日前、次のように php-function を使用しているときに、パーミッションを間違って設定してしまいましたmkdir
:
mkdir("foldername", 777, true);
正しい方法は、これらの種類のアクセス許可が必要であると仮定すると、次のとおりです。
mkdir("foldername", 0777, true);
ファイルやフォルダーに 777 を使用すべきではないことはわかっていますが、これは非常に閉じたシステム用であるため、それにこだわらないでください。少なくとも私にとっては、ここに面白い(奇妙な)部分があるからです。このスクリプトがフォルダーを作成したときに何かが非常に奇妙であることに気付いたからです。設定されるパーミッションは、特に私のような Linux の非パワー ユーザーにとっては非常に奇妙です。作成されたフォルダーのアクセス許可が次のように設定されていることがわかります。
dr - - - - x - - t
これは奇妙です。以前はスティッキービット( )について聞いたことがありませんでしたがt
、ルートによってのみそのファイルを削除できるようにしたい場合に設定されているようです。なぜPHPがこのように動作するのか、それともPHPの問題なのか(関数を間違って使用しているため、実際には問題ではない)、または疑わしいときに* nixシステムがデフォルトで行うものなのか、誰かが知っていますか?か何か?