Documentation for a newer release is available. View Latest

Mendapatkan Hak

Administrator sistem, dan dalam beberapa kasus pengguna, perlu melakukan tugas tertentu dengan akses administratif. Mengakses sistem sebagai pengguna root berpotensi berbahaya dan dapat menyebabkan kerusakan luas pada sistem dan data. Bab ini membahas cara untuk mendapatkan hak administratif menggunakan program setuid seperti su dan sudo. Program-program ini memungkinkan pengguna tertentu untuk melakukan tugas yang biasanya hanya tersedia untuk pengguna root sambil mempertahankan tingkat kontrol dan keamanan sistem yang lebih tinggi.

Lihat Panduan Keamanan Red Hat Enterprise Linux 7 untuk informasi lebih lanjut tentang kontrol administratif, potensi bahaya, dan cara mencegah kehilangan data akibat penggunaan akses istimewa yang tidak semestinya.

Perintah su

Ketika pengguna menjalankan perintah su, mereka akan dimintai kata sandi root dan, setelah otentikasi, diberikan prompt shell root.

Setelah login menggunakan perintah su, pengguna adalah pengguna root dan memiliki akses administratif mutlak ke sistem. Perhatikan bahwa akses ini masih tunduk pada batasan yang diberlakukan oleh SELinux, jika diaktifkan. Selain itu, setelah pengguna menjadi root, mereka dapat menggunakan perintah su untuk berpindah menjadi pengguna lain di sistem tanpa diminta kata sandi.

Karena program ini sangat kuat, administrator dalam suatu organisasi mungkin ingin membatasi siapa yang memiliki akses ke perintah.

Salah satu cara paling sederhana untuk melakukannya adalah dengan menambahkan pengguna ke grup administratif khusus yang disebut wheel. Untuk melakukannya, ketik perintah berikut sebagai root:

~]# usermod -a -G wheel namapengguna

Dalam perintah sebelumnya, gantikan namapengguna dengan nama pengguna yang ingin Anda tambahkan ke grup wheel.

Anda juga bisa memakai alat pengaturan Pengguna untuk mengubah keanggotaan grup, sebagai berikut. Perhatikan bahwa Anda perlu hak administrator untuk melakukan prosedur ini.

  1. Tekan tombol Super untuk masuk ke Ringkasan Aktivitas, ketik Users lalu tekan Enter. Alat pengaturan Pengguna muncul. Tombol Super muncul dalam berbagai samaran, tergantung pada papn ketik dan perangkat keras lainnya, tetapi sering kali sebagai tombol Windows atau Command, dan biasanya di sebelah kiri Spacebar.

  2. Untuk memfungsikan membuat perubahan, klik tombol Buka kunci, dan masukkan kata sandi administrator yang valid.

  3. Klik ikon pengguna di kolom kiri untuk menampilkan properti pengguna di panel sebelah kanan.

  4. Ubah Jenis Akun dari Standar menjadi Administrator. Ini akan menambahkan pengguna ke grup wheel.

Lihat Mengelola Pengguna dalam Lingkungan Grafis untuk informasi lebih lanjut tentang alat Pengguna.

Setelah Anda menambahkan pengguna yang diinginkan ke grup wheel, disarankan untuk hanya mengizinkan pengguna tertentu ini menggunakan perintah su. Untuk melakukannya, sunting berkas konfigurasi PAM untuk su, /etc/pam.d/su. Buka berkas ini dalam penyunting teks dan batalkan komentar pada baris berikut dengan menghapus karakter #:

#auth           required        pam_wheel.so use_uid

Perubahan ini berarti bahwa hanya anggota grup administratif wheel yang dapat beralih ke pengguna lain menggunakan perintah su.

Catatan

Pengguna root adalah bagian dari grup wheel secara baku.

Perintah sudo

Perintah sudo menawarkan pendekatan lain untuk memberikan akses administratif kepada pengguna. Saat pengguna terpercaya mendahului perintah administratif dengan sudo, mereka akan dimintai kata sandi mereka sendiri. Kemudian, ketika mereka telah diautentikasi dan dengan asumsi bahwa perintah tersebut diizinkan, perintah administratif dijalankan seolah-olah mereka adalah pengguna root.

Format dasar dari perintah sudo adalah sebagai berikut:

sudo perintah

Dalam contoh di atas, perintah akan digantikan oleh suatu perintah yang biasanya hanya dapat dijalankan bagi pengguna root, seperti mount.

Perintah sudo memungkinkan fleksibilitas tingkat tinggi. Misalnya, hanya pengguna yang terdaftar dalam berkas konfigurasi /etc/sudoers yang diizinkan untuk menggunakan perintah sudo dan perintah tersebut dijalankan di shell pengguna, bukan shell root. Ini berarti shell root dapat sepenuhnya dinonaktifkan seperti yang ditunjukkan pada Panduan Keamanan Red Hat Enterprise Linux 7.

Setiap otentikasi yang berhasil menggunakan perintah sudo dicatat ke berkas /var/log/messages dan perintah yang diberikan bersama dengan nama pengguna yang memberikan dicatat ke berkas /var/log/secure. Jika pencatatan log tambahan diperlukan, gunakan modul pam_tty_audit untuk mengaktifkan audit TTY bagi pengguna tertentu dengan menambahkan baris berikut ke berkas /etc/pam.d/system-auth Anda:

session required pam_tty_audit.so disable=pola enable=pola

di mana pola mewakili daftar pengguna yang dipisahkan koma dengan penggunaan glob opsional. Misalnya, konfigurasi berikut akan mengaktifkan audit TTY untuk pengguna root dan menonaktifkannya untuk semua pengguna lain:

session required pam_tty_audit.so disable=* enable=root

Keuntungan lain dari perintah sudo adalah bahwa administrator dapat mengizinkan pengguna lain mengakses perintah tertentu berdasarkan kebutuhan mereka.

Administrator yang ingin menyunting berkas konfigurasi sudo, /etc/sudoers, mesti memakai perintah visudo.

Untuk memberikan hak administratif penuh ke seseorang, ketikkan visudo dan tambahkan sebaris mirip berikut dalam bagian spesifikasi hak pengguna:

budi ALL=(ALL) ALL

Contoh ini menyatakan bahwa pengguna, budi, dapat memakai sudo dari host mana pun dan mengeksekusi sebarang perintah.

Contoh di bawah mengilustrasikan kemungkinan granularitas ketika mengonfigurasi sudo:

%users localhost=/sbin/shutdown -h now

Contoh ini menyatakan bahwa sebarang anggota grup sistem users dapat memberikan perintah /sbin/shutdown -h now selama itu diberikan dari konsol.

Halaman man bagi sudoers memiliki daftar rinci opsi bagi berkas ini.

Penting

Ada beberapa risiko potensial untuk diingat ketika memakai perintah sudo. Anda dapat menghindari mereka dengan menyunting berkas konfigurasi /etc/sudoers memakai visudo sebagaimana dijelaskan di atas. Membiarkan berkas /etc/sudoers dalam keadaan bakunya memberi setiap pengguna dalam grup wheel akses root tak terbatas.

  • Secara baku, sudo menyimpan kata sandi sudoer selama lima menit. Sebarang penggunaan perintah berikutnya selama perioda ini tidak akan meminta kata sandi pengguna. Ini dapat dieksploatasi oleh seorang penyerang bila pengguna membiarkan workstation mereka tak terjaga dan tak terkunci ketika masih log masuk. Perilaku ini dapat diubah dengan menambahkan baris berikut ke berkas /etc/sudoers:

    Defaults    timestamp_timeout=nilai

    Dimana nilai adalah tenggat waktu yang diinginkan dalam menit. Menata nilai ke 0 menyebabkan sudo memerlukan suatu kata sandi setiap saat.

  • Bila suatu akun sudoer terkompromi, seorang penyerang dapat memakai sudo untuk membuka sebuah shell baru dengan hak administratif:

    sudo /bin/bash

    Membuka sebuah shell baru sebagai root dengan cara ini atau yang serupa, memberikan penyerang akses administratif selama waktu yang secara teoritis tak terbatas, melewati periode tenggat waktu yang dinyatakan dalam berkas /etc/sudoers dan tidak pernah mempersyaratkan penyerang memasukkan suatu kata sandi bagi sudo lagi sampai sesi yang baru dibuka telah ditutup.

Sumber Daya Tambahan

Walaupun program yang mengizinkan pengguna untuk mendapatkan hak administratif adalah risio keamanan potensial, keamanan itu sendiri di luar dari lingkup buku ini. Anda mesti mengacu ke sumber daya yang dicantumkan di bawah untuk informasi lebih lanjut terkait keamanan dan akses dengan hak khusus.

Dokumentasi Yang Terpasang
  • su(1) — Halaman manual bagi su menyediakan informasi terkait opsi-opsi yang tersedia dengan perintah ini.

  • sudo(8) — Halaman manual bagi sudo termasuk suatu deskripsi terrinci atas perintah ini dan mencantumkan daftar opsi yang tersedia untuk menyesuaikan perilakunya.

  • pam(8) — Halaman manual yang menguraikan penggunaan Pluggable Authentication Modules (PAM) bagi Linux.

Dokumentasi Daring
Lihat Juga
  • Mengelola Pengguna dan Grup mendokumentasikan bagaimana mengelola pengguna dan grup sistem dalam antarmuka pengguna grafis dan pada baris perintah.