
グループの書き込みアクセス権を持つフォルダーにファイルを作成しようとしていますが、ユーザー tomcat7 がグループに含まれています。なぜ機能しないのでしょうか?
skr@konrad~/data/asu$ sudo -u tomcat7 sh
$ whoami
tomcat7
$ echo > /home/skr/data/asu/g.gz.index
sh: 2: cannot create /home/skr/data/asu/g.gz.index: Permission denied
$ ls -la /home/skr/data/asu/
total 18708
drwxrwxr-x 2 skr skr 4096 Sep 29 08:38 .
drwxrwxr-x 85 skr skr 4096 Jul 30 00:42 ..
$ grep ^skr /etc/group
skr:x:1002:tomcat7:mail
ログアウトしようとしましたが、役に立ちません。何かアイデアはありますか?
答え1
id
またはの出力を見てみてくださいgroups
。これらのコマンドは、grep よりも、現在のプロセスが実際にどのグループのメンバーであるかを正確に示します/etc/group
。おそらく、「tomcat7」ユーザーは、意図したとおりに実際には「skr」グループのメンバーではないことがわかるでしょう。
理由は、 に構文エラーがあるためです/etc/group
。ファイルの各行には、コロンで区切られた 4 つのフィールド (グループ名、パスワード、gid、メンバーのリスト) が含まれているはずですが、表示されている行には 5 つのフィールドがあります。不要なフィールドと区切り文字 ( :mail
) を削除して、もう一度試してください。