アプリ版:「スタンプのみでお礼する」機能のリリースについて

ファイルのアクセス権限設定について教えて下さい。

Linux環境化でファイルのアクセス権限情報を設定するための
関数はないでしょうか?
※ open関数のmodeに設定したのですが、ステッィキービット等が
付与できません。
[0644]は可能だが、[3644]は設定できません。

どなたかご存知の方がいらっしゃりましたら、ご教授下さい。

#環境
 言語:C、OS:Cent OS
#参考
 取得について:URL http://oshiete1.goo.ne.jp/qa4955286.html

A 回答 (3件)

    • good
    • 0
この回答へのお礼

さっそくのご回答ありがとうございます。
chmodですと作成した後に変更という流れになると思いますが
作成したと同時に権限設定も終えてしまいたいのです。

情報が足りず、申し訳ありません。

お礼日時:2009/05/28 12:53

0644は8進数です 2進数にすると 110 100 100


3644は10進数ですね

この回答への補足

失礼いたしました。
[00644]は可能ですが、[03644]はできません。
に訂正させていただきます。

補足日時:2009/05/28 12:50
    • good
    • 0

スティッキービットの設定出来ましたよ。



----------------------------------------------------------------------
#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 と言うのがスティッキービットのフラグです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!