Create a special user for reset user password on Linux (sudoers)



User untuk keperluan khusus tertentu dengan level root memanfaatkan sudoers pada Linux. Ditulis oleh Djeyraff


source: devrant.com

Pada Lab kali ini kita akan membuat user untuk keperluan khusus tertentu dengan level root memanfaatkan sudoers pada Linux. Mungkin kita terkadang berhadapan dengan kondisi dimana perlu sebuah user baru yang memiliki akses tinggi (selevel root) tetapi hanya untuk menjalankan command tertentu saja, karena fungsi user tersebut memang dikhususkan untuk itu.

Baik langsung saja lab kali ini kita akan buat user “resetuser” pada linux RHEL 7 (namun dapat berjalan di semua jenis linux) yang memiliki fungsi untuk me-reset password dari user root. Pada lab kali ini kunci utamanya ialah konfigurasi di /etc/sudoers, baik kita mulai saja.

  1. Login dengan user root terlebih dulu di Linux terminal kalian.

2. Buatlah user baru dan buatkan password untuk user tersebut dengan perintah berikut.

#adduser resetuser

#passwd resetuser

3. Cek apakah user telah berhasil dibuat.

#cat /etc/passwd

4. Karena kita akan membuat user “resetuser” dengan kemampuan reset password maka kita perlu mengetahui dimana lokasi passwd (command reset password Linux) berada di OS Linux kita, dengan perintah.

#which passwd

Pada OS RHEL 7 saya kali ini, lokasi passwd berada di /bin/passwd lokasi ini akan kita gunakan saat konfigurasi file sudoers, jadi harap diingat.

5. Sekarang masuk ke konfigurasi utama yang perlu dilakukan yaitu edit file sudoers dengan perintah.

#nano /etc/sudoers

tambahkan perintah seperti di atas

resetuser ALL=(root) /bin/passwd root

Penjelasan:

  • resetuser: nama user yang akan diberikan akses khusus
  • ALL: sumber akses user tersebut, ALL artinya diakses dari manapun bisa
  • (root): privilege user apa yang diberikan pada user resetuser
  • /bin/passwd root: command apa yang diperbolehkan untuk user resetuser tersebut jalankan sebagai root. Karena contoh kita hanya dibolehkan reset password user root saja maka tuliskan langsung user root-nya setelah command /bin/passwd, agar tidak dapat melakukan reset ke user lain. Jika ingin melakukan reset ke semua user termaksud root maka hilangkan root sehingga command cukup pakai /bin/passwd saja.

Jika ingin membatasi agar “resetuser” hanya dapat melakukan reset jika diakses dari IP Address 192.168.7.1 maka command ALL dapat diganti jadi IP tersebut saja, seperti berikut.

resetuser 192.168.7.1=(root) /bin/passwd root

Baik saya rasa sudah jelas jika fungsi sudoers ini sangat banyak fungsinya, bukan hanya untuk command passwd saja tapi bisa untuk kreasi user apa, dari mana, sebagai apa, dan boleh menjalankan apa saja. Kalian bisa bebas merancang sudoers kalian sesuai kebutuhan kalian, namun pastikan di konfigurasi tetap seaman mungkin.

Test hasil konfigurasi resetuser

  1. lakukan login sebagai user “resetuser” yang sudah kita buat tadi

#su - resetuser

2. Kita coba untuk menjalankan fungsi utamanya yaitu reset user root, dengan perintah.

$sudo -u root /bin/passwd root

atau

$sudo -u root passwd root

sudo -u root dibutuhkan karena kita memakai akses root yang diberikan ke user “resetuser”.

Terlihat user “resetuser “dapat melakukan reset password dengan sempurna tanpa kendala terhadap user root.

3. Selanjutnya kita akan lakukan verifikasi apakah benar user tersebut tidak dapat melakukan command lain selain yang diberikan di file sudoers tadi.

Semua command selain diberikan terlihat tidak diizinkan untuk dijalankan, mulai dari reset user selain root hingga edit file sudoers.

Sampai sini lab ini berhasil tanpa kendala, sedikit tips fungsi pembatasan source akses (sumber akses) sebaiknya dikonfigurasi agar ditujukan khusus ke IP Address yang memang diizinkan untuk menjalankan fungsi user tersebut, agar keamanan proses reset password hanya diberikan khusus terhadap satu sumber akses umumnya hal ini berguna jika server diakses lewat SSH dan remote akses lainnya.