Tugas Administrasi
Tugas tambahan meniru tugas administrasi Linux lainnya dan menggunakan utilitas yang tersedia dalam distribusi Fedora. Beberapa tugas dijelaskan di bawah ini dengan tautan khusus ke Dokumentasi Fedora lainnya atau dokumentasi upstream.
Sumber Daya Umum:
-
Halaman Man
Manajemen Pengguna
Image awal menyertakan akun root yang terkunci tanpa kata sandi, kunci ssh dapat ditambahkan menggunakan ignition.
$ id testuser uid=1000(testuser) gid=1000(testuser) groups=1000(testuser),10(wheel) $ getent passwd testuser testuser:x:1000:1000::/home/testuser:/bin/bash
Instalasi paket dapat menambahkan pengguna tambahan untuk memiliki file dan proses pada sistem. Misalnya, skrip instalasi paket httpd akan membuat pengguna apache jika belum ada.
$ id apache uid=48(apache) gid=48(apache) groups=48(apache) $ getent passwd apache apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
Akun ini biasanya merupakan akun sistem dengan UID di bawah 1000, tanpa kata sandi, dan shell /sbin/nologin. Akun dengan shell nologin tidak dapat digunakan secara interaktif. Akun-akun ini juga tidak memiliki direktori home yang dibuat di /home
Untuk membuat akun sistem secara manual bagi aplikasi Anda, gunakan perintah useradd:
$ sudo useradd -r -s /sbin/nologin appuser $ getent passwd appuser appuser:x:992:981::/var/home/appuser:/sbin/nologin
Akun pengguna terpusat (LDAP, Kerberos) dapat dikonfigurasi dengan authconfig setelah paket klien, termasuk sssd, telah diinstal. File /etc/nsswitch.conf sudah dikonfigurasi untuk mencari sss serta files dan altfiles untuk informasi akun.
Akun pengguna yang merupakan anggota grup wheel secara otomatis memiliki hak penuh dengan perintah sudo. Ini berasal dari baris-baris berikut dalam file konfigurasi sudo:
$ sudo grep wheel /etc/sudoers ## Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL # %wheel ALL=(ALL) NOPASSWD: ALL
Pengeditan pada file konfigurasi ini harus dilakukan dengan perintah visudo agar sintaks diperiksa saat keluar. Alih-alih mengedit file konfigurasi utama, berikan pengguna lain kemampuan untuk menjalankan perintah tertentu sebagai pengguna yang berbeda dengan menambahkan file konfigurasi ke direktori /etc/sudoers.d/.
-
Fedora Quick Docs: Menjalankan tugas administrasi menggunakan sudo
Gunakan ssh-keygen untuk menghasilkan pasangan kunci ssh lalu tambahkan kunci publik ke akun pengguna di perangkat Fedora IoT Anda:
$ ssh-copy-id testuser@10.11.12.13
Ganti nama pengguna dan alamat IP dengan milik perangkat Anda. Gunakan opsi -i untuk menentukan file kunci selain default file ~/.ssh/id_*pub yang paling baru dimodifikasi. Perintah ssh-copy-id akan menambahkan kunci publik ke file authorized keys pengguna di perangkat. Perintah ini akan membuat direktori ~/.ssh jika belum ada dan memastikan izin pada file sudah benar.
Manajemen Grup
Karena cara rpm-ostree menangani entri pengguna + grup, mungkin tidak memungkinkan untuk menggunakan usermod -a -G guna menambahkan pengguna ke grup dengan sukses. Sampai rpm-ostree beralih menggunakan systemd sysusers, pengguna harus mengisi file /etc/group dari file /usr/lib/group sebelum mereka dapat menambahkan diri mereka ke grup.
Misalnya, jika Anda ingin menambahkan pengguna ke grup libvirt:
$ grep -E '^libvirt:' /usr/lib/group | sudo tee -a /etc/group $ sudo usermod -aG libvirt $USER
| Anda perlu keluar dan masuk kembali untuk menerapkan perubahan ini. |
Masalah ini dilacak di rpm-ostree#29 dan rpm-ostree#49.
(Teks disalin dari dokumentasi Fedora Silverblue)
Konfigurasi Jaringan
Tampilkan daftar perangkat jaringan:
$ nmcli dev DEVICE TYPE STATE CONNECTION eth0 ethernet connected System eth0 lo loopback unmanaged --
Tampilkan detail perangkat:
$ nmcli dev show eth0 GENERAL.DEVICE: eth0 GENERAL.TYPE: ethernet GENERAL.HWADDR: B8:27:EB:B4:93:D8 GENERAL.MTU: 1500 ...Output Omitted...
Tampilkan daftar konfigurasi koneksi:
$ nmcli con NAME UUID TYPE DEVICE System eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet eth0 enp1s0 8a6006ff-a1b5-4048-be93-258087a1853f ethernet --
Hanya satu koneksi per perangkat yang dapat AKTIF tetapi beberapa koneksi dapat didefinisikan.
Tampilkan informasi koneksi:
$ nmcli con show enp1s0 connection.id: enp1s0 connection.uuid: 8a6006ff-a1b5-4048-be93-258087a1853f connection.stable-id: -- connection.type: 802-3-ethernet ... Output Omitted ...
Perintah nmcli conn memiliki berbagai opsi termasuk edit, modify, up, down, add, dan delete. Gunakan perintah nmcli conn help untuk melihat sintaksnya.
Konfigurasi default akan mencoba mendapatkan informasi koneksi dari layanan DHCP di jaringan Anda. Jika tidak ada layanan DHCP yang tersedia di jaringan Anda, Anda dapat menambahkan koneksi statis:
$ nmcli connection add con-name cable ipv4.addresses \ 192.168.0.10/24 ipv4.gateway 192.168.0.1 \ connection.autoconnect true ipv4.dns "8.8.8.8,1.1.1.1" \ type ethernet ifname eth0 ipv4.method manual
Hubungkan perangkat ke SSID wifi, dengan meminta kata sandi:
$ sudo nmcli –ask device wifi connect SSID-Name
Untuk opsi wifi lainnya, lihat:
$ nmcli device wifi help
-
Fedora Quick Docs: Konfigurasi jaringan ip dengan nmcli
Mengamankan akses jarak jauh
Akun root dikunci secara default tanpa kata sandi yang ditetapkan. Daemon SSH dikonfigurasi dengan autentikasi kata sandi dinonaktifkan untuk akun root dan hanya mengizinkan akses jarak jauh jika kunci ssh telah ditambahkan.
Nonaktifkan akses ssh jarak jauh untuk root dengan mengedit baris berikut dalam file /etc/ssh/sshd_config:
PermitRootLogin no
Untuk menonaktifkan autentikasi kata sandi bagi semua pengguna, edit file /etc/ssh/sshd_config dan tambahkan yang berikut:
PasswordAuthentication no
Lihat konfigurasi firewall default:
$ sudo firewall-cmd --list-all
Layanan firewalld berbeda dengan layanan systemd. Untuk melihat konfigurasi apa yang disertakan oleh layanan firewalld, gunakan:
$ sudo firewall-cmd --info-service=mdns mdns ports: 5353/udp protocols: source-ports: modules: destination: ipv4:224.0.0.251 ipv6:ff02::fb
Gunakan opsi --add-service atau --add-port untuk membuka port di firewall:
$ sudo firewall-cmd --add-port=8080/tcp --add-port=8081/tcp --permanent $ sudo firewall-cmd --reload
Opsi --permanent menyimpan pengaturan ke file sehingga akan dimuat saat firewalld dimuat berikutnya. Opsi --reload memuat ulang konfigurasi dari file yang tersimpan. Jika Anda menambahkan port atau layanan tanpa opsi --permanent, hal itu akan mengubah pengaturan firewalld runtime tetapi tidak akan menyimpan perubahan Anda untuk bertahan setelah reboot sistem.
-
Fedora Quick Docs: Menggunakan firewalld
Manajemen Layanan
Layanan dikelola oleh systemd dan dapat dimulai serta diaktifkan dengan systemctl.
Image Fedora IoT melakukan boot ke target multi-user secara default.
$ systemctl get-default multi-user.target
Sejumlah kecil layanan diaktifkan:
$ systemctl list-unit-files --state enabled
Instalasi paket biasanya tidak memulai atau mengaktifkan layanan:
$ systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabl>
Active: inactive (dead)
Docs: man:httpd.service(8)
Opsi --now memungkinkan Anda memulai layanan pada perintah enable:
$ sudo systemctl enable httpd --now Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
-
Fedora Quick Docs: Memahami dan mengelola systemd
Melihat Log
File log umumnya terletak di direktori /var/log. Log sistem dapat dilihat dan dicari dengan journalctl.
-
Fedora Quick Docs: Melihat log di Fedora
Mengedit Argumen Baris Perintah Kernel
Terkadang berguna untuk dapat mengedit argumen baris perintah kernel, baik untuk menambahkan konsol serial atau beberapa opsi untuk debugging.
Lihat baris perintah kernel saat ini:
$ sudo rpm-ostree kargs
Edit argumen baris perintah kernel dengan editor default (default untuk editor adalah vim) untuk penyesuaian seperti menambahkan konsol serial:
$ sudo rpm-ostree kargs --editor
Reboot sistem:
$ sudo systemctl reboot
Administrasi Jarak Jauh dengan Ansible
Image Fedora IoT menyertakan python3 dan Ansible versi 2.5 ke atas memiliki dukungan untuk Python 3 (hanya python 3.5 ke atas). Untuk menggunakan Ansible dalam mengonfigurasi perangkat Fedora IoT Anda, atur opsi konfigurasi ansible_python_interpreter untuk menggunakan binary python3 /usr/bin/python3. Hal ini dilakukan dengan variabel inventaris seperti yang dijelaskan dalam dokumentasi Dukungan Ansible Python 3.
Panduan Pengguna Ansible mencakup cara bekerja dengan Ansible. Beberapa modul yang berguna meliputi:
-
Jaringan: nmcli
-
Pengguna: user, authorized_key, htpasswd
-
Paket, layanan, dan port: yum_repository, service, firewalld
-
File dan direktori: file, copy, template, get_url, unarchive
-
Berinteraksi dengan layanan web HTTP dan HTTPS: uri
-
Sistem: timezone, reboot
Terdapat modul yang didukung komunitas untuk rpm-ostree, community.general.rpm_ostree_pkg, yang dapat digunakan untuk menambah dan menghapus overlay. Anda harus menginstal koleksi community.general untuk menggunakan modul ini.
$ ansible-galaxy collection install community.general
Kemudian modul dapat digunakan seperti berikut:
- name: install cockpit
community.general.rpm_ostree_pkg:
name:
- cockpit
- cockpit-podman
- cockpit-storaged
- cockpit-ostree
state: present
register: result
- name: reboot if new stuff was installed
reboot:
reboot_timeout: 300
when: result.changed
- name: start and enable cockpit
service:
name: cockpit.socket
state: started
enabled: true
- name: allow cockpit through firewall
firewalld:
service: cockpit
permanent: yes
immediate: yes
state: enabled
Want to help? Learn how to contribute to Fedora Docs ›