Saya menggunakan ubuntu 10.04.
Saya perhatikan bahwa setelah saya menjalankan " sudo -s " di terminal, prompt berubah dari
" XXX @ XXX "
untuk
" root @ XXX ",
tampaknya itu berubah menjadi root privilege.
Tetapi ketika saya memeriksa dokumentasi perintah "sudo" di sini , itu menjelaskan cerita lain tentang "sudo -s", adakah yang bisa menjelaskan kepada saya apa yang tepatnya dilakukan " sudo -s "?
sudo
hampir tidak spesifik untuk Ubuntu ...Jawaban:
Keduanya tidak benar-benar tidak konsisten -
sudo
perintah selalu mengubah pengguna, baik untuk me-root, atau ke pengguna yang Anda tentukan dengan-u
switch. Yang-s
dilakukan hanyalah menyediakan jalan pintas untuk memulai shell sebagai pengguna itu. Ini benar-benar setara dengan:kecuali bahwa kemungkinan akan mundur ke
/bin/sh
atau sesuatu jikaSHELL
tidak diatur.sumber
sudo -s
menjalankan shell yang ditentukan dalam$SHELL
variabel lingkungan Anda sebagai superuser / root. Anda dapat menentukan pengguna lain menggunakan-u
.The
$SHELL
variabel lingkungan berisi path shell login default pengguna. Pengaturan aktual untuk program shell default biasanya dietc/passwd
. Bergantung pada apa yang telah Anda lakukan dalam sesi Anda saat ini, variabel $ SHELL mungkin tidak mengandung program shell yang sedang Anda gunakan. Jika Anda masuk secara otomatis dengan zsh misalnya, tetapi kemudian memanggil bash, $ SHELL tidak akan berubah/bin/zsh
.Tampilkan program pengguna dan shell saat ini:
echo $(whoami) is logged in and shell is $0
whoami
mencetak nama pengguna yang sedang digunakan pengguna.$0
berisi nama / jalur program yang sedang berjalan (program shell dalam kasus ini).sumber
Dari manual:
Lebih serius lagi, sudo -s menjalankan variabel lingkungan shell. Karena Anda tidak menambahkan variabel apa pun itu berjalan seperti yang ditentukan dalam passwd, dan menghubungkan Anda sebagai root.
sumber
-u
opsi untuk mempelajarinya. Tetapi bagi seseorang yang tidak terbiasasudo
, mereka tidak akan tahu untuk melihatnya-u
.Lihat posting ini dari superuser:
Apa perbedaan antara perintah "su -s" dan "sudo -s"?
Ngomong-ngomong, pos Anda harus dipindahkan ke superuser (atau askubuntu seperti yang dikatakan di komentar)!
sumber
Kedengarannya seperti sedang membuat contoh lain dari shell di atas shell saat ini, tetapi dengan hak akses root. Saya berani bertaruh bahwa setelah Anda melakukannya
sudo -s
jika Anda mengetik keluar, Anda akan kembali ke shell asli.sumber
sudo -s memungkinkan Anda menjalankan perintah yang Anda pra-otorisasi [lihat / etc / sudoers], mungkin dengan meminta Anda untuk mengkonfirmasi ID Anda saat ini.
sumber