GNU/Linux >> Belajar Linux >  >> Linux

Perintah runuser Linux - Jalankan Shell dengan ID Pengguna/Grup yang Ditentukan

Perintah runuser digunakan untuk menjalankan shell dengan ID pengguna dan grup yang ditentukan. Perintah ini mengubah id pengguna dan grup. Saat Anda ingin menjalankan beberapa perintah sebagai pengguna lain, perintah ini dapat digunakan untuk mengubah pengguna. Perintah ini seperti perintah su, tetapi tidak meminta kata sandi. Jadi, hanya pengguna yang memiliki hak istimewa, yaitu pengguna root yang dapat menjalankan perintah ini dengan sukses dan dapat mengubah ke pengguna mana pun tanpa memerlukan kata sandi.

Perintah ini cukup berguna ketika digunakan dalam skrip shell. Ini karena ini adalah perintah non-interaktif. Perintah Su tidak dapat digunakan untuk skrip shell karena itu meminta kata sandi saat dijalankan sebagai pengguna lain selain root. Tetapi dalam kasus perintah runuser, itu gagal dan keluar dengan kesalahan (untuk pengguna yang tidak memiliki hak). Karena perintah runuser tidak menjalankan kait PAM dan modul otentikasi, ia memiliki overhead yang lebih rendah daripada su.

perintah runuser

Berikut adalah contoh pengguna root yang menjalankan perintah runuser:

[root@redhat-server /]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) context=root:system_r:unconfined_t:SystemLow-SystemHigh
[root@redhat-server /]# runuser jack
[jack@redhat-server /]$ id
uid=501(jack) gid=501(jack) groups=501(jack),504(javaproject) context=root:system_r:unconfined_t:SystemLow-SystemHigh

Anda dapat memeriksa pengguna saat ini dengan perintah id. Sekarang ketika pengguna yang tidak memiliki hak mencoba menjalankan perintah ini:

[jack@redhat-server /]$ runuser jones
runuser: cannot set groups: Operation not permitted

Dengan opsi -l atau --login, shell baru dapat dijadikan shell login seperti halnya perintah su. runuser - perintah memiliki efek yang sama. Ini juga mengubah variabel lingkungan. Variabel seperti PWD dan PATH mengubah nilainya dengan opsi ini.

[root@redhat-server ~]# runuser - jones
[jones@redhat-server ~]$ id
uid=502(jones) gid=502(jones) groups=502(jones),504(javaproject) context=root:system_r:unconfined_t:SystemLow-SystemHigh
[jones@redhat-server ~]$ pwd
/home/jones

Anda dapat memberikan shell khusus Anda jika Anda tidak menginginkan shell default dengan opsi -s:

[root@redhat-server ~]# echo $SHELL
/bin/bash
[root@redhat-server ~]# runuser -s /bin/sh jones
sh-3.2$ echo $SHELL
/bin/sh
sh-3.2$ id
uid=502(jones) gid=502(jones) groups=502(jones),504(javaproject) context=root:system_r:unconfined_t:SystemLow-SystemHigh

Linux
  1. perintah su Linux

  2. Jalankan perintah Shell di jenkins sebagai pengguna root?

  3. Mengapa menjalankan perintah shell Linux dengan '&'?

  1. Perintah wc Linux dengan Contoh

  2. Tambahkan Pengguna ke Grup di Linux, Bagaimana Melakukannya (Dengan Contoh)

  3. Jalankan perintah sebagai pengguna sistem Linux (shell =/bin/false)

  1. Cara Menjalankan Perintah dengan Batas Waktu (Timeout) Di Linux

  2. Cara Menjalankan Perintah / Script Shell Linux di Latar Belakang

  3. Cara Mengubah Pemilik File/Grup dengan Perintah chown di Linux