- 締切済み
ファイルのアクセス権限設定について
ファイルのアクセス権限設定について教えて下さい。 Linux環境化でファイルのアクセス権限情報を設定するための 関数はないでしょうか? ※ open関数のmodeに設定したのですが、ステッィキービット等が 付与できません。 [0644]は可能だが、[3644]は設定できません。 どなたかご存知の方がいらっしゃりましたら、ご教授下さい。 #環境 言語:C、OS:Cent OS #参考 取得について:URL http://oshiete1.goo.ne.jp/qa4955286.html
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Yanch
- ベストアンサー率50% (114/225)
スティッキービットの設定出来ましたよ。 ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> #include <sys/stat.h> #include <sys/types.h> #include <string.h> int main(int argc, char *argv[]) { char filename[] = "test_file.txt"; struct stat buf; int nResult = 0; memset(&buf, 0, sizeof(buf)); nResult = stat(filename, &buf); if (nResult) { perror("ファイル情報が取得できませんでした."); return 1; } nResult = chmod(filename, buf.st_mode | S_ISVTX); if (nResult) { perror("スティッキービットの設定に失敗しました."); return 1; } return 0; } ---------------------------------------------------------------------- S_ISVTX と言うのがスティッキービットのフラグです。
- php504
- ベストアンサー率42% (926/2160)
0644は8進数です 2進数にすると 110 100 100 3644は10進数ですね
- bluecampus
- ベストアンサー率66% (138/209)
お礼
さっそくのご回答ありがとうございます。 chmodですと作成した後に変更という流れになると思いますが 作成したと同時に権限設定も終えてしまいたいのです。 情報が足りず、申し訳ありません。
補足
失礼いたしました。 [00644]は可能ですが、[03644]はできません。 に訂正させていただきます。