Saya memiliki 2 pengguna di server saya. Satu dengan sudo mengakses yang lain tanpa. Bagaimana saya bisa memberikan akses ke log nginx
/var/log/nginx/error.log
Ke pengguna lain tanpa sudo
izin untuk digunakan cat /var/log/nginx/error.log
? Bisakah saya membuat sesuatu seperti symlink untuk login di direktori / home / username?
Jadi pertanyaan saya adalah - bagaimana pengguna tanpa sudo
izin dapat memeriksa log nginx?
sudo
akses ke apa? Tidak jelas dari pertanyaan Anda. Saya tahu beberapa orang membuat 'akses sudo' berarti 'akses root', tetapi secara teknis tidak akurat. Tolong ellaborate.sudo
untuk memberinya izin sebenarnya, tergantung bagaimana Anda ingin mengkonfigurasinya.setfacl -m 'user:someuser:r' /var/log/nginx/error.log
. Saya tidak yakin bagaimana itu akan bekerja dengan logrotate.sudo
akses ke cat / tail / etc log itu mungkin merupakan pilihan yang lebih baik.`Jawaban:
Misalnya, seperti ini:
chmod 755 /var/log/nginx && chmod 644 /var/log/nginx/*.log && chmod 644 /var/log/nginx/*.gz
dengan cara ini siapa pun akan dapat membaca dan membaca isi dari direktori / var / log / nginx dan membaca file * .log.
Anda juga harus memeriksa konfigurasi rotating log sehingga izin tidak akan berubah lagi. Untuk beberapa versi Nginx terakhir, hingga dan termasuk 1.6.2, file
/etc/logrotate.d/nginx
telah menggunakan bariscreate 0640 www-data adm
untuk mengatur izin ketika memutar log. Ini harus diubah menjadi sesuatu seperticreate 0644 www-data adm
. Perlu dicatat bahwa solusi ini memungkinkan semua pengguna di server untuk membaca semua log Nginx.Pembaruan: konfigurasi logrotate juga harus diperbarui untuk menyertakan
su www-data adm
agar utilitas logadm berfungsi tanpa mengeluh tentang izin direktori yang salah.sumber
/etc/logrotate.d/nginx
adalahcreate 0640 www-data adm
. Itu di 1.6.2, tapi saya pikir garis itu tidak berubah dalam beberapa waktu.