4

OpenGroupによると、open()がO_CREATで呼び出され、ファイルがまだ存在しない場合、関数の3番目の引数として指定されたファイル権限で作成されます。

ファイルが作成されます。ファイルのユーザーIDは、プロセスの実効ユーザーIDに設定されます。ファイルのグループIDは、ファイルの親ディレクトリのグループIDまたはプロセスの有効なグループIDに設定する必要があります。また、ファイルモードのアクセス許可ビット(を参照)は、タイプmode_tと見なされる3番目の引数の値に設定されます。

fopen()で同様のことをして、後でchmodを実行しなくても、作成時に新しいファイルのアクセス許可を設定できるようにすることはできますか?

4

1 に答える 1

6

fopen(3)マニュアルページから:

S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH (0666)作成されたファイルには、プロセスの umask 値 (umask(2) を参照) によって変更されたmode が含まれます。

umask(2)あなたの友人もそうです。

于 2013-03-19T22:11:20.603 に答える