You can do this by using ACL's on linux.
First remount filesystem with acl parameters and you can also verify using mount and tune2fs command that filesystem is already mounted with "acl" attribute.
Code:
#cat /etc/fstab
...
LABEL=/home /home ext3 rw,acl 1 2
...
#mount -v -o remount /home
after that you need to set and check ACL's on files and directories.
for these setfacl and getfacl
to set a read only permission with group on file you need to use the syntax something like this
Code:
#setfacl -m g:groupname:r-- filename
whenever you do "ls -l" on file/folder in the permission section of output there will a "+" at the end, that's denote that this file or folder have some acl's configured on it.
to check or get per-configured acl on file or folder