Gaining super user access
Tags: ramadhanbersamaredhat
Published: 2024-04-06 22:11:55

**Pengguna Super(superuser)**
Sebagian besar sistem operasi memiliki semacam pengguna super, pengguna yang memiliki semua kekuasaan atas sistem. Di Red Hat Enterprise Linux, ini adalah user root. Pengguna ini memiliki kekuatan untuk mengesampingkan hak normal pada sistem file, dan digunakan untuk mengelola dan mengelola sistem.Namun hak istimewa yang tidak terbatas ini disertai dengan tanggung jawab. user root mempunyai kekuasaan tak terbatas untuk merusak sistem: menghapus file dan direktori, menghapus akun pengguna, menambahkan pintu belakang, dan sebagainya. Jika root akun pengguna disusupi, orang lain akan memiliki kendali administratif atas sistem.

**Beralih Pengguna**
Perintah su memungkinkan pengguna untuk beralih ke akun pengguna lain. Jika Anda menjalankan su dari akun pengguna biasa, Anda akan dimintai kata sandi akun yang ingin Anda alihkan. Saat rootdijalankan su , Anda tidak perlu memasukkan kata sandi pengguna.

```
[user01@host ~]$ su - user02
Password: 
[user02@host ~]$ 
```
Jika Anda menghilangkan nama pengguna, perintah su atau su - mencoba beralih ke rootsecara default.

```
[user01@host ~]$ su -
Password: 
[root@host ~]# 
```

**Menjalankan Perintah dengan Sudo**
sudo biasanya mengharuskan pengguna memasukkan kata sandi mereka sendiri untuk otentikasi, bukan kata sandi akun pengguna yang mereka coba akses. Artinya, pengguna yang menggunakan sudo untuk menjalankan perintah karena root tidak perlu mengetahui kata sandi rootnya. Sebaliknya, mereka menggunakan kata sandi mereka sendiri untuk mengautentikasi akses.Selain itu, sudo dapat dikonfigurasi untuk memungkinkan pengguna tertentu menjalankan perintah apa pun sebagai pengguna lain, atau hanya beberapa perintah sebagai pengguna tersebut.

Misalnya, ketika sudo dikonfigurasi untuk memungkinkan user01pengguna menjalankan perintah usermod sebagai root, user01dapat menjalankan perintah berikut untuk mengunci atau membuka kunci akun pengguna:

```
[user01@host ~]$ sudo usermod -L user02
[sudo] password for user01: 
[user01@host ~]$ su - user02
Password: 
su: Authentication failure
[user01@host ~]$ 
```

Jika pengguna mencoba menjalankan perintah sebagai pengguna lain, dan konfigurasi sudo tidak mengizinkannya, perintah tersebut akan diblokir, upaya tersebut akan dicatat, dan secara default email akan dikirimkan ke pengguna root.

```
[user02@host ~]$ sudo tail /var/log/secure
[sudo] password for user02: 
user02 is not in the sudoers file.  This incident will be reported.
[user02@host ~]$ 
```
Salah satu manfaat tambahan menggunakan sudo adalah semua perintah yang dijalankan dicatat secara default ke /var/log/secure.

```
[user01@host ~]$ sudo tail /var/log/secure
...output omitted...
Feb  6 20:45:46 host sudo[2577]:  user01 : TTY=pts/0 ; PWD=/home/user01 ; USER=root ; COMMAND=/sbin/usermod -L user02
...output omitted...
```
Di Red Hat Enterprise Linux 7 dan Red Hat Enterprise Linux 8, semua anggota grup wheeldapat menggunakan sudo untuk menjalankan perintah sebagai pengguna mana pun, termasuk root. Pengguna dimintai kata sandinya sendiri. Ini merupakan perubahan dari Red Hat Enterprise Linux 6 dan versi sebelumnya, di mana pengguna yang tergabung dalam wheelgrup tidak mendapatkan akses administratif ini secara default.

**_Peringatan_**
RHEL 6 tidak memberi wheelgrup hak istimewa apa pun secara default. Situs yang telah menggunakan grup ini untuk tujuan non-standar mungkin akan terkejut ketika RHEL 7 dan RHEL 8 secara otomatis memberikan hak istimewa sudowheel penuh kepada semua anggota . Hal ini dapat menyebabkan pengguna tidak sah mendapatkan akses administratif ke sistem RHEL 7 dan RHEL 8.

Secara historis, sistem mirip UNIX menggunakan keanggotaan dalam wheelgrup untuk memberikan atau mengontrol akses pengguna super.

**Mengonfigurasi Sudo**
File konfigurasi utama untuk sudo adalah /etc/sudoers. Untuk menghindari masalah jika beberapa administrator mencoba mengeditnya secara bersamaan, sebaiknya hanya diedit dengan perintah visudo khusus .

Misalnya, baris berikut dari /etc/sudoersfile memungkinkan akses sudo untuk anggota grup wheel.

```
%wheel        ALL=(ALL)       ALL
```
Di baris ini, %wheel adalah pengguna atau grup yang menerapkan aturan tersebut. A %menentukan bahwa ini adalah grup, group wheel. Menentukan ALL=(ALL)bahwa pada host mana pun yang mungkin memiliki file ini, wheeldapat menjalankan perintah apa pun. Yang terakhir ALLmenentukan siapa yang wheeldapat menjalankan perintah tersebut sebagai pengguna mana pun di sistem.

Secara default, /etc/sudoersjuga menyertakan konten file apa pun di /etc/sudoers.d direktori sebagai bagian dari file konfigurasi. Hal ini memungkinkan administrator untuk menambahkan akses sudo untuk pengguna hanya dengan meletakkan file yang sesuai di direktori tersebut.

Menggunakan file tambahan di bawah /etc/sudoers.d direktori itu mudah dan sederhana. Anda dapat mengaktifkan atau menonaktifkan akses sudo hanya dengan menyalin file ke direktori atau menghapusnya dari direktori.

Untuk mengaktifkan akses sudo penuh bagi pengguna user01, Anda dapat membuat /etc/sudoers.d/user01dengan konten berikut:

```
user01  ALL=(ALL)  ALL
```
Untuk mengaktifkan akses sudo penuh untuk grup group01, Anda dapat membuat /etc/sudoers.d/group01dengan konten berikut:

```
%group01  ALL=(ALL)  ALL
```
Dimungkinkan juga untuk mengatur sudo agar pengguna dapat menjalankan perintah sebagai pengguna lain tanpa memasukkan kata sandinya:

```
ansible  ALL=(ALL)  NOPASSWD:ALL
```
Meskipun terdapat risiko keamanan yang jelas dalam memberikan tingkat akses ini kepada pengguna atau grup, hal ini sering kali digunakan dengan instans cloud, mesin virtual, dan sistem penyediaan untuk membantu mengonfigurasi server. Akun dengan akses ini harus dilindungi dengan hati-hati dan mungkin memerlukan otentikasi kunci publik SSH agar pengguna di sistem jarak jauh dapat mengaksesnya.
Persyaratan untuk memasukkan kata sandi untuk sudo dapat diaktifkan kembali atau perubahan lain dapat dilakukan untuk memperketat keamanan sebagai bagian dari proses konfigurasi sistem.

Perintah sudo su - mengatur rootlingkungan persis seperti login normal karena perintah su - mengabaikan pengaturan yang dibuat oleh sudo dan mengatur lingkungan dari awal.

Konfigurasi default dari perintah sudo -i sebenarnya mengatur beberapa detail rootlingkungan pengguna secara berbeda dari login normal. Misalnya, ini menetapkan PATH variabel lingkungan sedikit berbeda. Ini mempengaruhi di mana shell akan mencari perintah.