Kedengarannya seperti Anda menggambarkan fungsionalitas bit setgid di mana ketika direktori yang telah ditetapkannya, akan memaksa file baru yang dibuat di dalamnya untuk mengatur grup mereka ke grup yang sama yang ditetapkan pada direktori induk.
Contoh
$ whoami
saml
$ groups
saml wheel wireshark
setup direktori dengan perms + kepemilikan
$ sudo mkdir --mode=u+rwx,g+rs,g-w,o-rwx somedir
$ sudo chown saml.apache somedir
$ ll -d somedir/
drwxr-s---. 2 saml apache 4096 Feb 17 20:10 somedir/
sentuh file sebagai saml di dir ini
$ whoami
saml
$ touch somedir/afile
$ ll somedir/afile
-rw-rw-r--. 1 saml apache 0 Feb 17 20:11 somedir/afile
Ini akan memberi Anda kira-kira seperti apa yang Anda inginkan. Jika Anda benar-benar menginginkan apa yang telah Anda jelaskan, saya pikir Anda harus menggunakan fungsionalitas Daftar Kontrol Akses untuk mendapatkannya (ACL).
Jika Anda ingin mendapatkan kontrol lebih besar atas izin pada file yang dibuat di bawah direktori somedir
,, Anda dapat menambahkan aturan ACL berikut untuk mengatur izin default seperti itu.
sebelum
$ ll -d somedir
drwxr-s---. 2 saml apache 4096 Feb 17 20:46 somedir
mengatur izin
$ sudo setfacl -Rdm g:apache:rx somedir
$ ll -d somedir/
drwxr-s---+ 2 saml apache 4096 Feb 17 20:46 somedir/
Perhatikan +
pada bagian akhir, itu berarti direktori ini memiliki ACL yang diterapkan padanya.
$ getfacl somedir
# file: somedir
# owner: saml
# group: apache
# flags: -s-
user::rwx
group::r-x
other::---
default:user::rwx
default:group::r-x
default:group:apache:r-x
default:mask::r-x
default:other::---
setelah
$ touch somedir/afile
$ ll somedir/afile
-rw-r-----+ 1 saml apache 0 Feb 17 21:27 somedir/afile
$
$ getfacl somedir/afile
# file: somedir/afile
# owner: saml
# group: apache
user::rw-
group::r-x #effective:r--
group:apache:r-x #effective:r--
mask::r--
other::---
Perhatikan dengan izin default ( setfacl -Rdm
) yang disetel sehingga izinnya adalah ( r-x
) secara default ( g:apache:rx
). Ini memaksa semua file baru untuk hanya r
mengaktifkan bitnya.