Saya menemukannya:Menerapkan izin default
Dari artikel:
-
Atur
setgid
bit, sehingga file/folder di bawahakan dibuat dengan grup yang sama dengan chmod g+s <directory>
-
Tetapkan ACL default untuk grup dan lainnya
setfacl -d -m g::rwx /<directory> setfacl -d -m o::rx /<directory>
Selanjutnya kita dapat memverifikasi:
getfacl /<directory>
Keluaran:
# file: ../<directory>/
# owner: <user>
# group: media
# flags: -s-
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x
Ini adalah tambahan untuk jawaban Chris, berdasarkan pengalaman saya di rig Arch Linux saya.
Menggunakan sakelar default (-d
) dan sakelar modifikasi (-m
) hanya akan mengubah izin default tetapi membiarkan izin yang sudah ada tetap utuh:
setfacl -d -m g::rwx /<directory>
Jika Anda ingin mengubah seluruh struktur izin folder termasuk yang sudah ada (Anda harus melakukan baris tambahan dan membuatnya rekursif dengan -R
):
setfacl -R -m g::rwx /<directory>
misalnya.
setfacl -R -m g::rwx /home/limited.users/<directory> // gives group read,write,exec permissions for currently existing files and folders, recursively
setfacl -R -m o::x /home/limited.users/<directory> //revokes read and write permission for everyone else in existing folder and subfolders
setfacl -R -d -m g::rwx /home/limited.users/<directory> // gives group rwx permissions by default, recursively
setfacl -R -d -m o::--- /home/limited.users/<directory> //revokes read, write and execute permissions for everyone else.
(KREDIT ke markdwite di komentar untuk sintaks baris cabut semua hak istimewa)
Tambahkan diri Anda/pengguna yang tercatat ke grup data-www, sehingga kami dapat bekerja dengan file yang dibuat oleh server data-www
sudo usermod -a -G www-data $USER
Perlu memulai ulang/login ulang agar grup yang baru ditambahkan dapat diterapkan
cd /var/www
Tambahkan www-data sebagai anggota grup folder html, dan pengguna Anda sebagai pemilik, jadi kami memilikinya serta anggota grup
sudo chown -R $USER:www-data html
Masukkan nama pengguna Anda sebagai ganti USER
Setel baca, tulis, jalankan izin sesuai kebutuhan, (ugo) u=pengguna, g=grup, o=lainnya
sudo chmod 750 html
Tetapkan GID html, sekarang, file yang baru dibuat di html akan mewarisi izin kepemilikan:
sudo chmod g+s html
Ini membuat aturan default untuk file/dir yang baru dibuat di dalam direktori html dan sub direktori.
sudo setfacl -R -d -m u::rwX -m g::rX -m o::000 html
Buat SELinux jika diinstal, abaikan persyaratan konteks www-data sehingga memungkinkan izin menulis
sudo setsebool -P httpd_unified 1
daftar direktori untuk melihat izin baru diterapkan
ls -ld html
Mengembalikan ini
drwxrwsr-x+ 3 html www-data
Tanda + tambahan menandakan bahwa ACL, Daftar Kontrol Akses, diatur pada direktori.
Referensi :Tautan ke forum