Saya memiliki sistem linux dengan apache terinstal dan saya menyimpan file web di / home / username / www / sitename / htdocs. Agar ini berfungsi, / home / nama pengguna saya telah membaca dan mengeksekusi izin untuk semua orang. Saya tahu itu ide yang buruk, tetapi saya adalah satu-satunya pengguna di sistem jadi ... saya tidak terlalu peduli dan saya tidak tahu lagi bagaimana cara melakukannya. Tetapi kenyataannya adalah saya harus membuat pengguna lain. Masalah dengan itu, jelas, adalah bahwa pengguna baru memiliki akses ke file pengguna lama. Apakah ada cara saya hanya bisa mengizinkan apache pengguna data www dan pengguna saya sendiri untuk mengakses / home / nama pengguna? Inilah yang saya coba:
i created a group webusers
i added my username and www-data to webusers
i removed rx permissions for everyone on /home/username
rx permissions still remain for the group on /home/username
Jadi bukankah seharusnya www-data dapat mengakses / home / nama pengguna sekarang? Itu berada di grup yang sama dengan pengguna saya. Atau tidak sesederhana itu? Saya sudah membaca ada kelompok primer dan sekunder tetapi saya tidak benar-benar mengerti maksudnya ...
Jika suatu aplikasi perlu mengakses entitas sistem file, file atau direktori, aplikasi itu seharusnya (terlepas dari hak yang diminta pada entitas itu sendiri) hak eXecute pada semua direktori induk. Akan tetapi, bisa memiliki mis. mengeksekusi hak yang diberikan oleh izin grup pada satu direktori dan oleh orang lain izin pada yang lain: tidak ada perbedaan dalam bagaimana Aplikasi mendapatkan haknya.
Sebagai izin untuk
/home
mungkin 755 (rwxr-xr-x
), mungkin ada dua kemungkinan masalah.Pertama, Anda harus memastikan Apache benar-benar berjalan
www-data
, dan kedua, setelah Anda menambahkan beberapa pengguna ke grup Anda perlu me-restart semua aplikasi yang sudah berjalan sebagai pengguna karena Linux tidak melihat/etc/passwd
setiap kali perlu mendapatkan daftar grup, alih-alih ia menyimpan daftar GID dalam struktur kernel.Grup primer dan sekunder hanya valid ketika diterapkan ke pengguna. Pengguna dapat menjadi bagian dari sejumlah grup, tetapi salah satunya dipilih sebagai primer dan ditugaskan untuk file yang baru dibuat; yang lain hanya digunakan untuk mengontrol hak akses.
sumber
Setiap file dan direktori memiliki seperangkat izin untuk pemilik, grup, dan lainnya (semua orang).
Menjalankan
ls -l
untuk menemukan apa iniUntuk mengubah izin, gunakan
chmod
, untuk mengubah pemilik dan grup, gunakanchown
Itu
man
halaman untukchown
danchmod
memberikan kiat untuk menerapkan izin secara rekursif yang membuat tugas lebih mudah, serta sintaks untuk digunakan.webusers
dalam kasus Anda) dan ubah kepemilikan file dalam/home/user1/www/sitename/htdocs
untukuser1.webusers
rw-rw----
dan direktori dan cgi untukrwxrwx---
user2
(pengguna baru) tidak akan dapat mengakses file kecuali mereka adalah bagian dari grup pengguna websumber
chgrp
).htdocs
juga harus dapat dieksekusi dan dibaca, jadi mungkin perlu mengatur direktori setidaknyarwxrwxr-x
naik hierarkichown
melakukan hal yang sama denganchgrp
, itu hanya lebih umum - yaitu bisa ubah pemilik jika Anda melewati bendera kanan ... dalam hal ini lewatuser1.webusers
hanya akan mengubah grup untuk file yang dibuat olehuser1