Jawaban:
Dua kemungkinan baris perintah utama adalah:
su
dan masukkan kata sandi root saat diminta.sudo
di depan perintah, dan masukkan kata sandi Anda saat diminta.Ini adalah metode yang disukai pada sebagian besar sistem, termasuk Ubuntu, Linux Mint, (boleh dibilang) Debian, dan lainnya. Jika Anda tidak tahu kata sandi root terpisah, gunakan metode ini.
Sudo mengharuskan Anda mengetik kata sandi Anda sendiri. (Tujuannya adalah untuk membatasi kerusakan jika Anda membiarkan papan ketik Anda tidak dijaga dan tidak dikunci, dan juga untuk memastikan bahwa Anda benar-benar ingin menjalankan perintah itu dan bukan misalnya kesalahan ketik.) Sering dikonfigurasikan untuk tidak meminta lagi beberapa menit agar Anda dapat menjalankan beberapa sudo
perintah secara berurutan.
Contoh:
sudo service apache restart
Jika Anda perlu menjalankan beberapa perintah sebagai root, awali setiap perintah dengan sudo
. Terkadang, lebih mudah untuk menjalankan shell interaktif sebagai root. Anda dapat menggunakannya sudo -i
untuk itu:
$ sudo -i
# command 1
# command 2
...
# exit
Alih-alih sudo -i
, Anda bisa menggunakan sudo -s
. Perbedaannya adalah bahwa -i
re i nitializes lingkungan ke default waras, sedangkan -s
menggunakan file konfigurasi untuk lebih baik atau buruk.
Untuk informasi lebih lanjut, lihat situs web sudo , atau ketik man sudo
sistem Anda. Sudo sangat dapat dikonfigurasi; misalnya itu dapat dikonfigurasi untuk membiarkan pengguna tertentu hanya menjalankan perintah tertentu sebagai root. Baca sudoers
halaman manual untuk informasi lebih lanjut; gunakan sudo visudo
untuk mengedit file sudoers.
The su
perintah ada pada kebanyakan sistem unix-seperti. Ini memungkinkan Anda menjalankan perintah sebagai pengguna lain, asalkan Anda tahu kata sandi pengguna itu. Saat dijalankan tanpa pengguna yang ditentukan, su
akan default ke akun root.
Contoh:
su -c 'service apache restart'
Perintah untuk menjalankan harus dilewatkan menggunakan -c
opsi. Perhatikan bahwa Anda memerlukan tanda kutip sehingga perintah tidak diuraikan oleh shell Anda, tetapi diteruskan secara utuh ke shell root yang su
berjalan.
Untuk menjalankan banyak perintah sebagai root, lebih mudah untuk memulai shell interaktif.
$ su
# command 1
# command 2
...
# exit
Pada beberapa sistem, Anda harus berada dalam grup nomor 0 (dipanggil wheel
) untuk menggunakan su
. (Intinya adalah untuk membatasi kerusakan jika kata sandi root bocor ke seseorang.)
Jika ada kata sandi root yang diatur dan Anda memilikinya, Anda bisa mengetikkan root
prompt login dan memasukkan kata sandi root. Berhati-hatilah, dan hindari menjalankan aplikasi kompleks sebagai root karena mereka mungkin melakukan sesuatu yang tidak Anda inginkan. Masuk secara langsung sebagai root terutama berguna dalam situasi darurat, seperti kegagalan disk atau saat Anda mengunci diri dari akun.
Mode pengguna tunggal, atau run-level 1, juga memberi Anda hak root. Ini dimaksudkan terutama untuk situasi pemeliharaan darurat di mana mem-boot ke level run multi-pengguna tidak dimungkinkan. Anda dapat boot ke mode pengguna tunggal dengan melewati single
atau emergency
pada baris perintah kernel. Perhatikan bahwa mem-boot ke mode pengguna-tunggal tidak sama dengan mem-boot sistem secara normal dan masuk sebagai root. Sebaliknya, sistem hanya akan memulai layanan yang ditentukan untuk run-level 1. Biasanya, ini adalah jumlah layanan terkecil yang diperlukan untuk memiliki sistem yang dapat digunakan.
Anda juga bisa mendapatkan ke mode single user dengan menggunakan perintah telinit: telinit 1
; Namun, perintah ini mengharuskan Anda untuk mendapatkan hak akses root melalui beberapa metode lain untuk menjalankannya.
Pada banyak sistem, boot ke mode pengguna tunggal akan memberi pengguna akses ke shell root tanpa meminta kata sandi. Khususnya, systemd
sistem berbasis akan meminta Anda untuk kata sandi root ketika Anda boot dengan cara ini.
Calife memungkinkan Anda menjalankan perintah sebagai pengguna lain dengan mengetikkan kata sandi Anda sendiri, jika diizinkan. Ini mirip dengan sudo yang jauh lebih luas (lihat di atas). Calife lebih ringan daripada sudo tetapi juga kurang bisa dikonfigurasi.
Op memungkinkan Anda menjalankan perintah sebagai pengguna lain, termasuk root. Ini bukan alat lengkap untuk menjalankan perintah sewenang-wenang: Anda mengetik op
diikuti oleh mnemonic yang dikonfigurasi oleh administrator sistem untuk menjalankan perintah tertentu.
Super memungkinkan Anda menjalankan perintah sebagai pengguna lain, termasuk root. Perintah itu harus diizinkan oleh administrator sistem.
Lihat juga Wikipedia .
Cukup awali perintah yang Anda inginkan dengan perintah tersebut pkexec
. Ketahuilah bahwa meskipun ini berfungsi dalam banyak kasus, ini tidak bekerja secara universal.
Lihat man pkexec
untuk informasi lebih lanjut.
kdesu
dan kdesudo
grafis front-end untuk su
dan sudo
masing - masing. Mereka memungkinkan Anda untuk menjalankan program X Window sebagai root tanpa kesulitan. Mereka adalah bagian dari KDE . Tipe
kdesu -c 'command --option argument'
dan masukkan kata sandi root, atau ketik
kdesudo -c 'command --option argument'
dan masukkan kata sandi Anda (jika diizinkan untuk menjalankan sudo
). Jika Anda memeriksa opsi "simpan kata sandi" di KdeSu, Anda hanya perlu mengetikkan kata sandi root sekali per sesi login.
Ktsuss ("menjaga su sederhana, bodoh") adalah versi grafis su.
BeesuBeesu adalah front-end grafis untuk perintah su yang telah menggantikan Gksu dalam sistem operasi berbasis Red Hat. Ini telah dikembangkan terutama untuk RHEL dan Fedora.
gksu
dan gksudo
gksu
dan gksudo
grafis front-end untuk su
dan sudo
masing - masing. Mereka memungkinkan Anda untuk menjalankan program X Window sebagai root tanpa kesulitan. Mereka adalah bagian dari Gnome . Tipe
gksu command --option argument
dan masukkan kata sandi root, atau ketik
gksudo command --option argument
dan masukkan kata sandi Anda (jika diizinkan untuk menjalankan sudo
).
gksu
dan gksudo
sudah usang. Mereka telah digantikan oleh PolicyKit di GNOME, dan banyak distribusi (seperti Ubuntu) tidak lagi menginstalnya secara default. Anda tidak harus bergantung pada mereka yang tersedia atau berfungsi dengan baik.
Gunakan salah satu metode dalam "menjalankan perintah shell sebagai bagian root". Anda perlu memastikan bahwa DISPLAY
variabel lingkungan maupun XAUTHORITY
lingkungan tidak diatur ulang selama transisi ke root. Ini mungkin memerlukan konfigurasi tambahan dari metode-metode yang berada di luar cakupan pertanyaan ini.
Secara keseluruhan, ini adalah ide yang buruk, sebagian besar karena aplikasi grafis akan membaca dan menulis file konfigurasi sebagai root, dan ketika Anda mencoba menggunakan aplikasi itu lagi sebagai pengguna normal Anda, aplikasi tersebut tidak akan memiliki izin untuk membaca konfigurasi mereka sendiri.
sudo
hanya akan berfungsi jika (1) diinstal dan (2) jika penggunaan Anda dalam file sudoers dan diizinkan untuk melakukan operasi.
pkexec
sedang mengganti gksu
/ gksudo
dalam banyak distribusi saat ini.
Gunakan su
:
$ su -c command
atau
$ su
# command
# exit
Dalam kedua kasus tersebut, Anda akan dimintai root
kata sandi. Untuk informasi lebih lanjut, lihat halaman manual .
Karena pertanyaannya bukan khusus untuk Linux, inilah cara Anda mencapai tujuan yang sama di Solaris 9+ (atau Solaris 8 Tepercaya):
Solaris, sejak versi 9, telah menyertakan seperangkat alat yang disebut RBAC, atau Kontrol Akses Berbasis Peran.
Inti dari RBAC adalah bahwa melalui pemberian Otorisasi dan Hak, kepada Pengguna dan / atau Peran, atau pemberian Peran kepada Pengguna, Anda dapat membuat model berbutir sangat bagus untuk siapa yang dapat menjalankan apa dengan hak istimewa apa.
Pada dasarnya, Anda mengidentifikasi otorisasi di / etc / security / auth_attr, lalu memberikannya kepada pengguna atau peran di / etc / user_attr.
Anda mendefinisikan profil di / etc / security / prof_attr. Anda kemudian mengaitkan perintah dengan profil tersebut di / etc / security / exec_attr, diikuti dengan menetapkan profil tersebut kepada pengguna di file / etc / user_attr.
Setelah hal-hal yang dilakukan, Anda benar-benar menjalankan pfexec <command>
untuk menjalankan perintah dengan hak istimewa atau otorisasi yang diberikan kepada yang pengguna untuk itu perintah.
Yang menyenangkan tentang RBAC adalah bahwa tidak ada hak istimewa tambahan yang diberikan untuk perintah itu sendiri, atau pengguna, hanya untuk kombinasi perintah pengguna +. Jadi lebih aman daripada membuat biner, atau hanya menggunakan sudo untuk membuat pengguna dapat melakukan apa saja. (Saya tahu bahwa Anda dapat mengunci sudo, tetapi dalam pengalaman saya kebanyakan orang tidak)
Keuntungan lain dari RBAC adalah Anda dapat membuat root akun peran, dan menetapkan peran itu kepada pengguna yang dapat menjadi root dengan perintah 'su' dan kata sandi root. Pengguna root juga akan dapat masuk dalam Mode Pengguna Tunggal, yang lebih baik (menurut saya) daripada model Linux di mana Anda dapat menonaktifkan kata sandi root passwd -d root
, atau mengunci akun root passwd -l root
, yang keduanya menjadikan login sebagai root cukup sulit ketika terjadi kesalahan.
Ben Rockwood memiliki posting blog yang bagus tentang RBAC yang dapat dibaca di Menggunakan RBAC di (Buka) Solaris .
Atau Anda bisa memberikan beberapa perintah kekuatan super. Saya sedang berbicara tentang izin khusus di mana perintah dijalankan dengan izin pemilik.
Dapatkan jalur perintah dengan #which <command>
dan atur SUID atau SGID untuk jalur itu.
Bit PS - SUID dan SGID harus diberikan dengan hati-hati. Mereka dapat membuat sistem Anda tidak aman.