Layanan dan Daemon
Menjaga keamanan pada sistem Anda sangat penting, dan salah satu pendekatan untuk tugas ini adalah mengelola akses ke layanan sistem dengan hati-hati. Sistem Anda mungkin perlu menyediakan akses terbuka ke layanan tertentu (misalnya, httpd
jika Anda menjalankan server web). Namun, jika Anda tidak perlu menyediakan layanan, Anda harus mematikannya untuk meminimalkan paparan Anda terhadap kemungkinan eksploitasi bug.
Bab ini mencakup konfigurasi layanan yang akan dijalankan ketika sistem dimulai, dan memberikan informasi tentang cara memulai, menghentikan, dan memulai ulang layanan pada baris perintah menggunakan utilitas systemctl.
Menjaga sistem tetap aman
When you allow access for new services, always remember that both the firewall and SELinux need to be configured as well. One of the most common mistakes committed when configuring a new service is neglecting to implement the necessary firewall configuration and SELinux policies to allow access for it. For more information, refer to the Fedora 27 Security Guide. |
Mengonfigurasi Layanan
Untuk memungkinkan Anda mengonfigurasi layanan mana yang dimulai pada saat boot, Fedora dikirim dengan alat baris perintah systemctl.
Jangan gunakan utilitas ntsysv dan chkconfig
Meskipun masih mungkin untuk menggunakan utilitas ntsysv dan chkconfig untuk mengelola layanan yang memiliki skrip init yang dipasang di direktori |
Mengaktifkan layanan irqbalance
Untuk memastikan kinerja optimal pada arsitektur POWER, disarankan agar layanan systemctl status irqbalance.service
|
Mengaktifkan Layanan
Untuk mengonfigurasi layanan yang akan dimulai secara otomatis pada waktu boot, gunakan perintah systemctl dalam bentuk berikut:
systemctl enable nama_layanan.service
Layanan akan dimulai saat berikutnya Anda mem-boot sistem. Untuk informasi tentang cara memulai layanan segera, lihat Menjalankan Layanan.
Bayangkan Anda ingin menjalankan Server HTTP Apache di sistem Anda. Asalkan Anda telah memasang paket httpd, Anda dapat mengaktifkan layanan httpd
dengan mengetikkan yang berikut di shell prompt sebagai root
:
~]# systemctl enable httpd.service
Menonaktifkan Layanan
Untuk menonaktifkan memulai layanan pada waktu boot, gunakan perintah systemctl dalam bentuk berikut:
systemctl disable nama_layanan.service
Lain kali Anda mem-boot sistem, layanan tidak akan dimulai. Untuk informasi tentang cara menghentikan layanan segera, lihat Menghentikan Layanan.
Untuk mengamankan sistem, pengguna disarankan untuk menonaktifkan protokol koneksi yang tidak aman seperti Telnet. Anda dapat memastikan bahwa layanan telnet
dinonaktifkan dengan menjalankan perintah berikut sebagai root
:
~]# systemctl disable telnet.service
Menjalankan Layanan
Utilitas systemctl juga memungkinkan Anda untuk menentukan status layanan tertentu, serta memulai, menghentikan, atau memulai ulang layanan.
Jangan gunakan utilitas
service Meskipun masih mungkin untuk menggunakan utilitas service untuk mengelola layanan yang memiliki skrip init yang dipasang di direktori |
Memeriksa Status Layanan
Untuk menentukan status layanan tertentu, gunakan perintah systemctl dalam bentuk berikut:
systemctl status nama_layanan.service
Perintah ini memberikan informasi terperinci tentang status layanan. Namun, jika Anda hanya perlu memverifikasi bahwa layanan sedang berjalan, Anda dapat menggunakan perintah systemctl dalam bentuk berikut sebagai gantinya:
systemctl is-active nama_layanan.service
Mengaktifkan layanan httpd mengilustrasikan cara mengaktifkan memulai layanan httpd
pada waktu boot. Bayangkan bahwa sistem telah dimulai ulang dan Anda perlu memverifikasi bahwa layanan benar-benar berjalan. Anda dapat melakukannya dengan mengetikkan yang berikut di shell prompt:
~]$ systemctl is-active httpd.service
active
Anda juga dapat menampilkan informasi terperinci tentang layanan dengan menjalankan perintah berikut:
~]$ systemctl status httpd.service httpd.service - LSB: start and stop Apache HTTP Server Loaded: loaded (/etc/rc.d/init.d/httpd) Active: active (running) since Mon, 23 May 2011 21:38:57 +0200; 27s ago Process: 2997 ExecStart=/etc/rc.d/init.d/httpd start (code=exited, status=0/SUCCESS) Main PID: 3002 (httpd) CGroup: name=systemd:/system/httpd.service ├ 3002 /usr/sbin/httpd ├ 3004 /usr/sbin/httpd ├ 3005 /usr/sbin/httpd ├ 3006 /usr/sbin/httpd ├ 3007 /usr/sbin/httpd ├ 3008 /usr/sbin/httpd ├ 3009 /usr/sbin/httpd ├ 3010 /usr/sbin/httpd └ 3011 /usr/sbin/httpd
Untuk menampilkan daftar semua layanan sistem aktif, gunakan perintah berikut:
systemctl list-units --type=service
Perintah ini menyediakan keluaran tabular dengan setiap baris yang terdiri dari kolom berikut:
-
UNIT
- Nama unitsystemd
. Dalam hal ini, nama layanan. -
LOAD
- Informasi apakah unitsystemd
dimuat dengan benar. -
ACTIVE
- Status aktivasi unit tingkat tinggi. -
SUB
- Status aktivasi unit tingkat rendah. -
JOB
- Pekerjaan yang tertunda untuk unit. -
DESCRYPTION
- Deskripsi singkat tentang unit.
Anda dapat mencantumkan semua layanan aktif dengan menggunakan perintah berikut:
~]$ systemctl list-units --type=service
UNIT LOAD ACTIVE SUB JOB DESCRIPTION
abrt-ccpp.service loaded active exited LSB: Installs coredump handler which saves segfault data
abrt-oops.service loaded active running LSB: Watches system log for oops messages, creates ABRT dump directories for each oops
abrtd.service loaded active running ABRT Automated Bug Reporting Tool
accounts-daemon.service loaded active running Accounts Service
atd.service loaded active running Job spooling tools
[output truncated]
Dalam contoh di atas, layanan abrtd
dimuat, aktif, dan berjalan, dan tidak memiliki pekerjaan yang tertunda.
Menjalankan Layanan
Untuk menjalankan layanan, gunakan perintah systemctl dalam bentuk berikut:
systemctl start nama_layanan.service
Ini akan memulai layanan di sesi saat ini. Untuk mengonfigurasi layanan yang akan dimulai pada waktu boot, lihat Mengaktifkan Layanan.
Mengaktifkan layanan httpd mengilustrasikan cara menjalankan layanan httpd
pada saat boot. Anda dapat segera memulai layanan dengan mengetikkan yang berikut di shell prompt sebagai root
:
~]# systemctl start httpd.service
Menghentikan Layanan
Untuk menghentikan layanan, gunakan perintah systemctl dalam bentuk berikut:
systemctl stop nama_layanan.service
Ini akan menghentikan layanan di sesi saat ini. Untuk menonaktifkan memulai layanan pada waktu boot, lihat Mengaktifkan Layanan.
Menonaktifkan layanan telnet mengilustrasikan cara menonaktifkan memulai layanan telnet
pada saat boot. Anda dapat seketika menghentikan layanan dengan menjalankan perintah berikut sebagai root
:
~]# systemctl stop telnet.service
Memulai Ulang Layanan
Untuk memulai ulang layanan, gunakan perintah systemctl dalam bentuk berikut:
systemctl restart nama_layanan.service
Agar setiap perubahan dalam berkas konfigurasi /etc/ssh/sshd_config
berlaku, Anda harus memulai ulang layanan sshd
. Anda dapat melakukannya dengan mengetikkan yang berikut di shell prompt sebagai root
:
~]# systemctl restart sshd.service
Want to help? Learn how to contribute to Fedora Docs ›