FS権限シナリオ

FS権限シナリオ

このファイルとフォルダのアクセス許可シナリオを実装するには:

次のフォルダを検討してください。
フォルダA:640 root apache /var/www/A/
フォルダwww:640 root apache /var/www/
とこのLinuxユーザー
id user1::uid=1000(user1) gid=1000(user1) groups=1000(user1)

user1Linuxユーザーに読み取り/書き込みアクセスを許可したいと思います。ただフォルダAでは、しかし、フォルダAの所有者やグループを変更しないでください。

次のシナリオを試しましたが、どちらも理想的ではありませんでした。

  • user1グループに追加apache
    欠点:user1にある他のファイルを読むことができます/var/www/
  • user1自宅のフォルダ(フォルダBなど)を/var/www/A/Aの代わりにフォルダBにハードリンクし、適切な権限を設定します。
    欠点:複数のデバイスでディレクトリへのハードリンクが不可能です。
  • 追加:user1欠点:複雑さに加えて、人の間違いによってフォルダAの所有者/グループポリシーおよび/または権限が違反する可能性があります。sudoers
    user1user1

どんなアイデアがありますか?

答え1

user1次のように管理されたコンテンツにアクセスしているので、/var/www/Aへのアクセスを許可したいとします。user1http://ドメイン名/A? Apacheがコンテンツをユーザーのホームディレクトリの下のディレクトリにリダイレクトすることを許可しないのはなぜですか?

Alias /A/ /path/to/users/homedir/A

これにより、/path/to/users/homedir/A のグループ/ユーザーの所有権/権限を変更せずに結果を得ることができます。

ただし、ファイル権限でこれを行う場合にのみこれを達成できます。渡す/var/wwwの所有権/権限の変更そして/var/www/A.

「新しいグループ」(groupaddほとんどのUNIXで提供されるコマンド)を作成し、ここにapacheとuser1を追加します。 /var/www/Aのグループ所有権をこの「新しいグループ」に変更します(chownまたは使用chgrp)。chmod 711 /var/www/var/wwwディレクトリへの「新しいグループ」および「他のユーザー」のrwアクセスを拒否する権限を設定し、()/var/www/Aに「新しいグループ」アクセスを許可します()chmod g+rwx /var/www/A

引用:

Apacheエイリアスディレクティブ

答え2

グループを作成してgroup1追加したら、次のように所有グループを有効に変更します。apacheuser1group1/var/www/Agroup1chgrp

# use `-R' if you want to do this recursively, that is grant `group1' access to 
# all sub-directories of `A' as well as access to `A' itself.

# as a regular user with sudo rights:

sudo chgrp -R group1 /var/www/A 

# as root 

chgrp -R group1 /var/www/A 

したがって、user1apacheのメンバーではないため、読み取ることはできませんが、/var/wwwまだ読み取ることができ、/var/www/Aapacheも読み続けることができます/var/www/A

最後に、次のようにグループメンバーにread/writeアクセス権があることを再確認してください。chmod

# use `-R' at your own discretion--it acts the same way as `-R' in `chgrp'

# as root 

chmod -R g=rw /var/www/A

# as a regular user with sudo rights

sudo chmod -R g=rw /var/www/A

またはそのようなもの。

関連情報