• 締切済み

ファイルのアクセス権限設定について

ファイルのアクセス権限設定について教えて下さい。 Linux環境化でファイルのアクセス権限情報を設定するための 関数はないでしょうか? ※ open関数のmodeに設定したのですが、ステッィキービット等が 付与できません。 [0644]は可能だが、[3644]は設定できません。 どなたかご存知の方がいらっしゃりましたら、ご教授下さい。 #環境  言語:C、OS:Cent OS #参考  取得について:URL http://oshiete1.goo.ne.jp/qa4955286.html

みんなの回答

  • Yanch
  • ベストアンサー率50% (114/225)
回答No.3

スティッキービットの設定出来ましたよ。 ---------------------------------------------------------------------- #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)
回答No.2

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

shin_bou
質問者

補足

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

回答No.1
shin_bou
質問者

お礼

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

関連するQ&A

  • ファイルのアクセス権限について

    ファイルのアクセス権限取得について教えて下さい。 Linux環境化でファイルのアクセス権限情報を取得するための 関数はないでしょうか? ※ userだけではなく、group、otherも取得したいです。 ※ [644]とか[744]とかの情報です。 access関数ではuserやgroupという切り分けはつかないですよね。。。 どなたかご存知の方がいらっしゃりましたら、ご教授下さい。 #環境  言語:C、OS:Cent OS

  • WSHのアクセス権限設定

    こんばんわ WSHにて、ファイルサーバーにて、ディレクトリを作成後、アクセス権限を設定したいのですが、可能なのでしょうか WSHにて、ディレクトリは作成できるのですが アクセス権限の設定がわかりません。 例えば、ある個人ユーザだけしか読み書き権限を与えて他のものには、参照もできないように設定したいのです。

  • ファイルサーバーのアクセス権限について

    ファイルサーバーのフォルダアクセス権限を設定しています。 OS:WindowsServer2012 CreateOwnerに対してフルコントロールではなく変更権限を与え、適用先を「このフォルダ、サブフォルダおよびファイル」と設定したいが、 適用先が強制的に「サブフォルダとファイルのみ」となってしまいます。 適用先が変わってしまう理由、変えない方法がわかりましたらご教授いただけますでしょうか

  • Access ファイルの権限を設定したい

    いつもお世話になっています。 Accessで作成したデータベースの権限の設定の仕方を教えてください。 市販のハンドブックで記載されている方法 メニューの「ツール」→「セキュリティ」→「ユーザー/グループのアカウント」での設定をやってみたのですが、この方法だと特定のデータベースだけでなく、操作するコンピュータ上にあるすべてのAccessファイルを開いたときに、ユーザー名とパスワードの確認画面が出てきてしまいます。 やりたいとことは、特定のファイルだけに設定したいと思います。 管理者とユーザーを設定して、ユーザーにはデータの更新程度の許可のみを与えるようにしたいと考えています。 よろしくお願いします。

  • ユーザーのアクセス権限

    linux環境におけるユーザー自身のアクセス権限について質問があります。 例えば、ユーザーはtest1、test2、test3が作成されておりまして、 homeディレクトリの配下には、test1、test2、test3のディレクトリがある状態を仮定します。 test3は、自分自身のホームディレクトリである「/home/test3」には当然アクセス可能ですが、 その他のアクセス権限として、 「home/test1/」 と 「home/test1/testdir」にはアクセス可能で、 その他のディレクトリへはアクセス出来ないように設定したいのです。 ぐぐって調査しましたが、 chmodなどのディレクトリベースでの権限設定が殆どでして、 ユーザーベースでの権限設定などが発見できず困っております。 よろしくお願いいたします。

  • ファイルシステムがFAT32でファイルのアクセス権限を設定することはできますか?

    ファイルシステムがFAT32で、ファイルやフォルダのアクセス許可をユーザーによって振り分けたいのですが、ヘルプには「ファイルシステムがNTFSのみアクセス権限を設定できる」と書かれています。 何か回避する方法はございませんでしょうか。ご教授願います。

  • Vistaのアクセス権がうまく設定できない

    増設したDドライブに、User1はフルコントロール、User2はアクセス不可に設定したいと思いますが、うまくいかなかったので教えてください。 OSはWindowsVistaのUltimateです。 Dドライブのアクセス許可設定を以下のように変更しました。  ・標準のAuthenticated UsersとUsersを外す。  ・Backup Operatorsにフルコントロール権限を付与。  ・User1をBackup Operators に追加 つまり、Dドライブにアクセス権を持っているのは「system」、「Administrators」、「Backup Operators」のみです。 この状態でUser1からDドライブにアクセスすると、「アクセスが拒否されました」とメッセージが出ます。 どこがおかしいか、教えていただけないでしょうか。 ※アクセス許可はグループ単位に付与したいと思います。  また、OS再インストール時に権限の再設定が大変なので、  ビルトイングループだけで設定したいです。

  • ファイルアクセス権限の設定方法

    WindowsXP Professional + SP2 のPC, ドライブCはNTFSフォーマットです。しかし、フォルダーやファイルのプロパティに、セキュリティのタブが表示されなくて、ファイルのアクセス権限がつけられません。 どうやって設定を変えれば、プロパティにセキュリティのタブが表示できるのですか。 よろしくお願いします。

  • Linux ファイルの権限付加について

    Linux ファイルの権限付加について質問があります。 OS:Linux(Debian) 現在プログラムでシリアル通信のプログラムを組んでいるんですが 権限がありませんとエラーが発生し、端末(コマンドプロンプト)で ルート権限で # chmod 7 /dev/ttyG0 で権限を与え 再度プログラム上で実行し うまく成功したのですが、パソコンを再起動すると 再び権限がリセットされたのか、また権限がありませんとエラーが発生し できませんでした。 そこで質問ですが、パソコンの電源が落とされても権限がリセットされないようにするためには どのようにすればよろしいのかご教授願います プログラムの開発環境Qt5.3

  • ファイル権限

    皆様、お世話になります。 windows server 2003でファイルサーバを作り、フォルダに権限を設定しました。 やり方は、ドメインに参加したユーザーを一人ずつ追加する手法です。 ところが、あるユーザーアカウント一つのみが、一つの読み取り専用ファイルを除いてアクセス出来なくなっています。 権限は下位のファイル・フォルダに適用し、フルコントロール以外のチェックを入れています。 どうしてアクセス拒否が起こってしまうのでしょうか。 どなたか詳しい方、助けて下さい。

専門家に質問してみよう