Documentation for a newer release is available. View Latest

Layanan dan Daemon

indexterm:[konfigurasi layanan] 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

Ketika Anda mengizinkan akses untuk layanan baru, selalu ingat bahwa firewall dan SELinux perlu dikonfigurasi juga. Salah satu kesalahan paling umum yang dilakukan ketika mengkonfigurasi layanan baru adalah mengabaikan untuk menerapkan konfigurasi firewall yang diperlukan dan kebijakan SELinux untuk memungkinkan akses untuk itu.

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 /etc/rc.d/init.d/, disarankan agar Anda menggunakan utilitas systemctl.

Mengaktifkan layanan irqbalance

Untuk memastikan kinerja optimal pada arsitektur POWER, disarankan agar layanan irqbalance diaktifkan. Dalam kebanyakan kasus, layanan ini dipasang dan dikonfigurasi untuk berjalan selama instalasi Fedora 34. Untuk memverifikasi bahwa irqbalance sedang berjalan, ketik yang berikut di shell prompt:

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.

Contoh 1. Mengaktifkan layanan httpd

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.

Contoh 2. Menonaktifkan layanan telnet

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 /etc/rc.d/init.d/, disarankan agar Anda menggunakan utilitas systemctl.

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
Contoh 3. Memeriksa status layanan httpd

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 unit systemd. Dalam hal ini, nama layanan.

  • LOAD - Informasi apakah unit systemd 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.

Contoh 4. Mencantumkan semua layanan aktif

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.

Contoh 5. Menjalankan layanan httpd

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.

Contoh 6. Menghentikan layanan telnet

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
Contoh 7. Memulai ulang layanan sshd

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

Sumber Daya Tambahan

Dokumentasi Terpasang

  • systemctl(1) — Halaman manual untuk utilitas systemctl.