Perintah su
(kependekan dari substitute atau switch user) adalah perintah yang memungkinkan Anda untuk menjalankan perintah dengan hak istimewa pengguna lain, secara default sebagai root.
Menggunakan su
adalah cara paling sederhana untuk beralih ke akun administratif dalam sesi login saat ini. Ini sangat berguna ketika user root tidak diizinkan login ke sistem melalui ssh atau menggunakan GUI display manager.
Dalam tutorial ini, kita akan membahas cara menggunakan perintah su.
Cara Menggunakan Perintah su
Sintaks umum untuk perintah su adalah sebagai berikut:
su [OPTIONS] [USER [ARGUMENT...]]
Ketika dipanggil tanpa opsi apa pun, perilaku default su
adalah menjalankan shell interaktif sebagai root:
su
Anda akan diminta memasukkan kata sandi root, dan jika diotentikasi, pengguna yang menjalankan perintah untuk sementara akan beralih menjadi user root.
Session shell (SHELL
) dan environment variables (HOME
) diatur dari entri pengguna /etc/passwd
, dan direktori kerja saat ini tidak berubah.
Untuk mengonfirmasi bahwa user telah berubah, gunakan perintah whoami
:
whoami
Perintah akan mencetak nama pengguna yang menjalankan sesi shell saat ini:
root
Opsi yang paling umum digunakan ketika memanggil su
adalah -
, -l
, --login
. Ini menjadikan shell sebagai shell login dengan lingkungan yang sangat mirip dengan login asli dan mengubah direktori kerja saat ini:
su -
Jika Anda ingin menjalankan shell lain daripada yang ditentukan dalam file passwd
, gunakan opsi -s
, --shell
. Misalnya, untuk beralih ke root dan menjalankan shell zsh
Anda akan mengetik:
su -s /usr/bin/zsh
Untuk menyiapkan seluruh environment (HOME
, SHELL
, USER
, dan LOGNAME
) dari pengguna yang akan di panggil, gunakan opsi -p
, --preserve-environment
.
su -p
Ketika opsi -
digunakan, maka flag -p
akan diabaikan.
Jika Anda ingin menjalankan perintah sebagai user pengganti tanpa memulai shell interaktif, gunakan opsi -c
, --command
. Misalnya, untuk menjalankan perintah ps
sebagai root, Anda harus mengetik:
su -c ps
Untuk beralih ke akun user lain, berikan nama user sebagai argumen ke perintah su
. Misalnya, untuk beralih ke user bernama adhit, maka Anda harus mengetik:
su adhit
Perbandingan antara Sudo vs Su
Pada beberapa distribusi Linux seperti Ubuntu, akun user root dinonaktifkan secara default untuk alasan keamanan. Dengan ini berarti bahwa tidak ada kata sandi yang diatur untuk root dan Anda tidak dapat menggunakan su
untuk beralih ke root.
Satu opsi untuk berubah menjadi root adalah dengan menambahkan perintah su
dengan sudo
dan memasukkan kata sandi user yang saat ini login:
sudo su -
Perintah sudo memungkinkan Anda untuk menjalankan program sebagai pengguna lain, secara default adalah root.
Jika pengguna diberikan dengan hak akses sudo, maka perintah su akan dipanggil sebagai root. Menjalankan sudo su -
dan menggunakan kata sandi user sama dengan menjalankan su -
dengan kata sandi user root.
Saat digunakan dengan opsi -i
, sudo
menjalankan shell login interaktif dengan user environment root:
sudo -i
Menggunakan perintah sudo -i
pada dasarnya sama dengan menjalankan su -
.
Keuntungan menggunakan sudo daripada perintah su adalah bahwa kata sandi root tidak perlu dibagi di antara beberapa akun pengguna administratif.
Dan juga, dengan sudo
Anda dapat mengizinkan pengguna untuk menjalankan hanya program tertentu dengan hak akses root.
Kesimpulan
su adalah utilitas baris perintah yang memungkinkan Anda untuk sementara menjadi pengguna lain dan menjalankan perintah sebagai user lain, yang dalam hal ini adalah root.