ファイルのアクセス許可を設定できるようにする必要があるプログラムを作成していますが、何らかの理由で chmod が期待どおりに動作していません。いくつかのテストのために、2 つの異なるファイル (fileOne.txt と fileTwo.txt) を作成しようとしました。fileOne.txt のアクセス許可は 600 に設定し、fileTwo.txt のアクセス許可は 777 に設定する必要があります。
私のプログラムを実行すると、次のようになります。
fileOne.txt having permissions set to ---x-wx--T
fileTwo.txt having permissions set to -r----x--t
?? 何?
以下は私のコードです。私の printf の結果は予想通り (600, 777) ですが、なぜ chmod はこれを好まないのでしょうか?
printf("chmod = %d\n", (int)getHeader.p_owner * 100 + (int)getHeader.p_group * 10 + (int)getHeader.p_world);
chmod(getHeader.file_name, (int)getHeader.p_owner * 100 + (int)getHeader.p_group * 10 + (int)getHeader.p_world);