このファイルとフォルダのアクセス許可シナリオを実装するには:
次のフォルダを検討してください。
フォルダ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)
user1
Linuxユーザーに読み取り/書き込みアクセスを許可したいと思います。ただフォルダAでは、しかし、フォルダAの所有者やグループを変更しないでください。
次のシナリオを試しましたが、どちらも理想的ではありませんでした。
user1
グループに追加apache
:
欠点:user1
にある他のファイルを読むことができます/var/www/
。user1
自宅のフォルダ(フォルダBなど)を/var/www/A/
Aの代わりにフォルダBにハードリンクし、適切な権限を設定します。
欠点:複数のデバイスでディレクトリへのハードリンクが不可能です。- 追加:
user1
欠点:複雑さに加えて、人の間違いによってフォルダAの所有者/グループポリシーおよび/または権限が違反する可能性があります。sudoers
user1
user1
どんなアイデアがありますか?
答え1
user1
次のように管理されたコンテンツにアクセスしているので、/var/www/Aへのアクセスを許可したいとします。user1
http://ドメイン名/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
。
引用:
答え2
グループを作成してgroup1
追加したら、次のように所有グループを有効に変更します。apache
user1
group1
/var/www/A
group1
chgrp
# 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
したがって、user1
apacheのメンバーではないため、読み取ることはできませんが、/var/www
まだ読み取ることができ、/var/www/A
apacheも読み続けることができます/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
またはそのようなもの。