プロが教えるわが家の防犯対策術!

お世話になります。

Linuxで以下のようなことをしたいのですが、ディレクトリごとにグループの権限を設定するコマンドが分かりません。
説明が長いですが、よろしくお願いします。

やりたいこと
【必須】
・group1とgroup2というグループがある。
・user01とuser11はgroup1に所属し、user2はgroup2に所属する。
・/test/folder1/と/test/folder2/がある。
・folder1の中身はrootユーザとgroup1に所属する2人しか参照・更新・実行できない。
・folder2の中身はrootユーザとgroup2に所属する1人しか参照・更新・実行できない。
・今後folder1に作成される全てのファイルはroot,user01,user11しか参照・更新・実行できない。
 (ファイルごとに権限を設定はしない。)
・rootユーザがグループ、ユーザの管理および/test/直下のフォルダの管理を行う。
 root以外のユーザはグループ・ユーザの作成などはできない。
 (root以外のユーザができることは/test/自分が所属しているグループが見れるディレクトリ 内の
  ファイルの参照・更新・実行のみ)

【できれば】
・rootユーザが/test/を見るとfolder1とfolder2がある。
 user01,user11が/test/を見るとfolder1だけある。
 (できない場合は、folder2にアクセスできないようにする)

【今自分が理解していること】
(1)グループの作成方法
 #groupadd group1
 #tail -1 /etc/group
 #group1:x:500:
 
(2)ユーザの作成方法
 # useradd -u 1001 -g group1 user01
 
(3)権限のつけかた
 #chmod g+r /test/folder1/
 (これはrootがやる場合、グループの指定ができるのかがわからない)

A 回答 (2件)

folder1/のファイルを編集できない件


chmod -R g+wr /test/folder1/*
と、グループに書き込み許可をあたえる必要があるかと思います。
folder1の下に新規作成したファイル類にグループのデフォルトで編集権限を持たせるためには、デフォルトの設定を変更する必要があるかもしれません。

user2からfolder1そのものを見えないようにしたい
単に、ファイルやディレクトリの権限だけでは処理できないかもしれません。
group1用の専用のディレクトリツリー(/から始まる一連のディレクトリ群、/test/folder1は持っているけど、/test/folder2はない)
とgroup2用の専用のツリー(/test/folder2はあるけど、/test/folder1はない)をそれぞれ作って、chroot(できればログインと同時にchrootが作用する代物) を使ってアクセスを分離する必要があるかもしれません。
    • good
    • 0

3の前に、ディレクトリの所有者(ユーザ、グループ)を設定する必要があるかと思います。


chgrp -R group1 /test/folder1
chgrp -R group2 /test/folder2
(folder2 があるユーザだけの利用なら、
chown -R user_group2 /test/folder2 でユーザを設定しても良いかも)

ディレクトリへのアクセスは、実行権限が必要だったように思います。
chmod g+rwx /test/folder1
chmod o-rwx /test/folder1 (user,group以外のひとのアクセス禁止)
かな。(chmod 770 /test/folder1 でもよいかもしれません。)
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
上記を参考に以下のようにやってみました。
(group2,user02も同じように)

# groupadd group1
# useradd -g group1 user01
# chgrp -R group1 /test/folder1/
# chmod g+rwx /test/folder1/
# chmod o-rwx /test/folder1/

結果、
【user01】/test/folder1/にあるテキストファイルがread onlyで編集できない⇒編集可能にしたい

【user02】/test/folder1/にアクセスすることはできないが、user02にfolder1が存在することが分かってしまう。

user02にはfolder1や、ルートディレクトリにある他のディレクトリ(/tmpや/usrなど)の存在を知られたくありません。

わがままを言って申し訳ありませんが、引き続きよろしくお願いいたします。

お礼日時:2009/07/31 13:09

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