• ベストアンサー

linuxのディレクトリのパーミッションで以下のよ

linuxのディレクトリのパーミッションで以下のようにしたいのですが ディレクトリ「dir1」があるとします。 作成者「usr1」はグループ「grp1」に属しています。 「dir1」は グループ内と管理者の人は誰でも参照できます。 管理者以外は名前変更、削除、移動はできません。 「dir1」の中には グループ内と管理者の人はファイルやディレクトリをフルコントロール(追加、削除、変更、名前変更、移動)できます。 「dir1」の中に作ったディレクトリは グループ内と管理者の人はファイルやディレクトリをフルコントロールできます。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4848/10261)
回答No.3

dir0/ root grp1 drwxr-x--- ┃ ┗━dir1/ root grp1 drwxrwx--- ですかね。 >このまま好き放題使ったら下記のようになっていくのならOKです。 各ユーザーのumaskを007にしておけばそうなります。

webuser
質問者

お礼

有難うございます。

その他の回答 (2)

  • notnot
  • ベストアンサー率47% (4848/10261)
回答No.2

「管理者」=usr1 ということでいいのでしょうか? またグループ外の人の記述が無いので、グループ外の人は参照すら出来ないということにします。 >「dir1」はグループ内と管理者の人は誰でも参照できます。管理者以外は名前変更、削除、移動はできません。 dir1 の親ディレクトリの権限を 750 にします。 >「dir1」の中にはグループ内と管理者の人はファイルやディレクトリをフルコントロール(追加、削除、変更、名前変更、移動)できます。 dir1 の権限を 770 にします。 >「dir1」の中に作ったディレクトリはグループ内と管理者の人はファイルやディレクトリをフルコントロールできます。 『「dir1」の中に作ったディレクトリの中はグループ内と管理者の人はファイルやディレクトリをフルコントロールできます。 』の書き間違いでしょうか? それは、そのディレクトリを作ったときに、770 にする必要があります。作成後に変更するか、作成前に umask 007 しておけばそうなります。

webuser
質問者

お礼

回答ありがとうございます。 usr1は作業者の一人です。usr2,usr3もいるとします。 管理者はrootという事にしておきます。 やりたいのは、 このdir1はグループのみんなは好き放題できるけど、 dir1自体は触ってほしくないという事です。 dir0/ usr1 grp1 drwxr-x--- ┃ ┗━dir1/ usr1 grp1 drwxrwx--- 一旦は、こういう事でしょうか? いや、これだとusr1がうっかり消すか こうかな? dir0/ root root drwxr-x--- ┃ ┗━dir1/ usr1 grp1 drwxrwx--- うーん、違うな。 このまま好き放題使ったら下記のようになっていくのならOKです。 dir0/ ┃ ┗━dir1/ □□┃ □□┣━dirA/ usr2 grp1 drwxrwx--- □□┃□┃ □□┃□┣━dirA1/ usr1 grp1 drwxrwx--- □□┃□┃□┃ □□┃□┃□┗━file usr3 grp1 -rwxrwx--- □□┃□┃ □□┃□┣━dirA2/ usr3 grp1 drwxrwx--- □□┃□┃ □□┃□┗━file usr1 grp1 -rwxrwx--- □□┃ □□┣━dirB/ usr2 grp1 drwxrwx--- □□┃ □□┗━file1 usr1 grp1 -rwxrwx---

回答No.1

UNIXであれば 「dir1」は 644 「dir1」の中には 664 「dir1」の中に作ったディレクトリは 664 ですが。6ではなく7(実行)は必要か? 必要であれば、6→7だと思います。

webuser
質問者

お礼

ありがとうございます。 ちょっと説明不足でした。 運用面を考えての話になります。 dir1は既にあるとします。 しかし、dir1の中身はまだありません。 dir1の中に何を入れるかはグループの人は自由です。 dir1の中に何かを入れるたびにパーミッション設定るるのではなく、事前に設定するというのが前提です。

関連するQ&A

  • linuxのオーナーとパーミッションについて

    linuxのオーナーとパーミッションについて 下記の3ユーザーがあるとします。 user1:groupA user2:groupA user3:groupB root:root 下記のファイルがあるとします。 dir_1/ | +-dir_11/ |_| |_+-file_111 | +-fil1_12 以下の要件を満たすオーナーとパーミッションは可能でしょうか <要件> ■dir_1  root以外は名前の変更、削除はできない。  この下にuser1、user2はファイルやディレクトリを作成、変更、削除できる。 ■dir_11  user1、user2はこのディレクトリを削除、変更可能  この下にuser1、user2はファイルやディレクトリを作成、変更、削除できる。  user3はこのディレクトリの下は読み込みしかできない。  user3はこのディレクトリの下にファイルやディレクトリを作れない。 ■file_111  user1、user2はこのファイルを変更、削除できる。  user3はこのファイルを読み込みしかできない。 ■fil1_12  user1、user2はこのファイルを変更、削除できる。  user3はこのファイルを読み込みしかできない。 <設定内容> ■dir_11,file_111,fil1_12 オーナー、user1:groupA 権限、rw-rw-r-- ■dir_1 オーナー、????:???? 権限、????????? dir_1の設定がわかりません。

  • ディレクトリのパーミッションについて

    ディレクトリのパーミッションについて易しく教えてください。 ディレクトリに移動するのになぜ実行アクセス権が必要なのでしょうか。仕組みがいまいち分かりません。 ファイルのパーミッションは分かるのですが、ディレクトリのパーミッションは少し分かりづらいです。 分かりやすく教えていただければうれしいです。 よろしくお願いいたします。

  • Linux上でファイル・ディレクトリのパーミッションを強制的に変える

    Linux上でファイル・ディレクトリのパーミッションを強制的に変える Linuxでファイルサーバを立てています. まず,やりたいことは3つあります. 1.特定のユーザに対してファイルのパーミッションを変えるコマンド(chmod)を使用不可能にしたいのですがどうしたらよいのでしょうか? 2.ファイル(ディレクトリ)のパーミッションを強制的にrwxr_xr_xにしたいのですが,可能でしょうか?つまり,指定したパーミッション以外のファイル(ディレクトリ)をコピーしたといしても,そのファイルのパーミッションはrwxr_xr_xに強制的に変わるということです. 3.特定のユーザでディレクトリの移動を/homeより上の階層に動かしたくないのですがどうしたらよいのでしょうか?つまり自分と他のユーザのディレクトリは見に行けるがルート以下のシステム関連には移動してほしくないということです. よろしくおねがいします.

  • CentOS8パーミッションの+って何ですか?

    CentOS8パーミッションの+って何ですか? # ls -l -rwxrwxr--+ 1 user1 grp1 25701 11月 25 09:33 file1.ods -rwxrwx--- 1 user1 grp1 73 6月 22 14:32 file2.txt -rwxrwxrwx+ 1 user1 grp1 25156 11月 16 09:55 file3.ods drwxrwx--- 2 user1 grp1 4096 10月 15 14:53 dir1 ls したときに、ディレクトリはd、ファイルは-、で始まって、rwxのブロックが3つ。 そこまでは分かるのですが、その後ろに+が付いているヤツがあります。 この+は何ですか?

  • Perlでディレクトリごと削除したい

    telnet.cgiを使って、カレントディレクトリで、 rm -rf * を行っても、なぜか(permissin 755にも関わらず)permission denyといわれうまく削除できませんでした。 そこで、perlを使って削除を試みたいのですがどのようにすれば、削除できますか? 参考になりそうなソースを見つけたのですが、ディレクトリの中にディレクトリがある構造のためうまく削除できませんでした。 どなたか、改良していただけないでしょうか? お手数ですが、宜しくお願い致します。 #!/usr/local/bin/perl $dir = "./d/"; opendir DIR, $dir; @files = grep { !m/^(\.|\.\.)$/g } readdir DIR; close DIR; $flag = @files; if ( $flag ) { foreach $file ( @files ) { unlink "$dir$file"; } } rmdir $dir;

    • ベストアンサー
    • CGI
  • perl(CGI)から作成したディレクトリがFTPで消せないのはなぜ?

    HTMLページからそのCGIを叩くと『年月』の名前のディレクトリを作って、 その中に日毎のアクセスログファイルを作成するCGIを作っています。 ディレクトリを作成するパールは以下です。 mkdir($dir, 0777); しかし実行すると$dirのパーミッションは755になってしまいます、 その中に作成されるファイルは正常に作成されるのですが、 そのディレクトリ/ファイル共にFTPから削除/パーミッションの変更が 出来なくなってしまいます。 telnetから入って削除しようとしても普通のユーザー権限では無理で 削除する為にはルートにならなければなりません。 なぜでしょう?FTPから操作できる権限のディレクトリを作る方法が あるのでしょうか? バカな質問だと思いますが分かる方がいらっしゃいましたら教えて下さい。

    • ベストアンサー
    • Perl
  • パーミッションを変更できるのは所有者と管理者だけ?

    ・ディレクトリやファイルのパーミッションを変更できるのは所有者と管理者だけでしょうか? ・所有グループに属しているユーザが、パーミッションを変更できるようには出来ないでしょうか? ■下記認識で合っているでしょうか? ・rwxのx実行を指定しても、パーミッション変更実行とは関係ない ・setuidはあくまでもパーミッション設定した後の動作であって、setuid設定してもグループユーザがパーミッションを変更できるわけではない

  • ディレクトリパーミッションの読込み権限

    一般的なWebサーバーに於いて、ディレクトリに対するパーミッションの表す具体的な意味がよくわかりません。いろいろ調べてはいるのですが、以下のような漠然とした理解に留まっています。 読込: ディレクトリの中身を見る(?) 書込: ディレクトリ内でファイルを作成, 削除 実行: ディレクトリ内のファイルにアクセス 特に判然としないのが、読込みと実行の違いです。 現在、自サイト内の全てのディレクトリのパーミッション値を701、つまり訪問者には実行権限のみを与えるということで統一していますが、今のところ問題は起きていません。 では、読込み権限が必要になるのはどのような場合が考えられるでしょうか。 また、上記の私の理解は合っているでしょうか。間違っていれば訂正、補足をお願い致します。

  • パーミッション

    A君とB君(ユーザーIDはそれぞれAとB)は同じグループG(グループIDはG)に属しているとします。A君は、自分のホームディレクトリ(~A)にあるディレクトリDの中の全てのファイルを、B君など同じグループに属する人にだけ閲覧可能にしたいと考えました。ただし、A君はディレクトリD以外のファイル・ディレクトリは(それらのリストを取る(lsコマンド)ことも許可したくありません。A君はどのようなパーミッションを設定すればよいでしょうか?

  • chmodでのパーミッション

    実行すると、同じディレクトリにあるディレクトリとその中のファイルを同じ階層にディレクトリを新規に作って、その中のファイルを全部コピーするスクリプトを組んでいます。 コピーはうまくいったのですが、パーミッションの設定がうまくいきません。 例えば @chmod("$dir/xxx.cgi",0755)or die("エラー"); と書くと、パーミッションは363になってしまいます。 5ファイルくらいあるのですが、他のパーミッション(例えば666など)も137になってしまいます。 Webを検索してもこういった事例にはおめにかからないのですが、私の使っている2つのサーバーで、どちらも同様の結果でした。 何がいけないのでしょうか? よろしくお願いいたします。 #ついでにmkdirも作成はできるのですが、パーミッションが必ず755になってしまいます。 #作成されたディレクトリやファイルのownerは、1つめのサーバーではnobody、もう一つのサーバーではログインユーザーになります。 #サーバーはどちらもLinuxです。 #PHPのヴァージョンは、1つめが4.3.1、2つめが4.3.4です。 よろしくお願いいたします。

    • ベストアンサー
    • PHP