test
ユーザーとしてディレクトリにアクセスしようとしていますayush
。ディレクトリはユーザーが所有し、ayush
グループを持っています。git
ディレクトリは権限0070とグループを持ち、グループのメンバーですgit
。ayush
ayush:~> ls -ld
drwxr-xr-x 7 ayush git 4096 Feb 15 11:33 .
ayush:~> ls
test
ayush:~> ls -ld test/
drwxrwx--- 3 ayush git 4096 Feb 15 11:34 test/
ayush:~> chmod 070 test/
ayush:~> ls -ld test/
d---rwx--- 3 ayush git 4096 Feb 15 11:34 test/
ayush:~> ls -l test/
ls: cannot open directory test/: Permission denied
ayush:~> groups
git
ayush:~> id
uid=11417(ayush) gid=30(git) groups=30(git)
しばらくこのエラーが表示され、以前は存在しませんでした。これは新しいグループではなく、すでにいくつかのコードで使用されています。
ところで、私はグループの一部である他のユーザーに切り替えて、彼は問題なく「test」ディレクトリにアクセスできました。
編集1:さらに、770 の権限を持つ「test」フォルダのグループを変更することはできません。 「操作は許可されていません」エラーが発生します。さらに、この問題は "git"グループでのみ発生します。フォルダのグループを自分が属している別のグループに切り替えることができます。しかし、その後、ユーザーを "git"に戻すことはできません。
ベストアンサー1
あなたはファイルの所有者であるため、「ユーザー」権限が適用されます。
グループ権限は、所有者でない場合にのみ適用されます。
同様に、「その他」権限は、あなたが所有者でもグループにも属していない場合にのみ適用されます。
唯一の違いは、root
ユーザーが権限に異なるように指定されていてもファイルを読み取ることができることです:-)