Ini tampaknya menjadi masalah telur ayam. Tugas yang paling umum digunakan sudo
adalah menginstal dan menghapus perangkat lunak.
sudo apt-get purge <appname>
Tapi sudo
itu sendiri bisa dihilangkan.
sudo apt-get purge sudo # Do not run this command on production computers!
Di sinilah kesenangan datang
ubuntu@ubuntu:~$ sudo
bash: /usr/bin/sudo: No such file or directory
Meskipun sudah jelas bahwa tidak ada orang yang waras yang akan membersihkan sudo
(selain saya), seseorang dapat dibodohi untuk menjalankan perintah ini (tidak secara langsung, dalam mode hex-nya, atau apa pun namanya) atau seseorang dapat SSH dalam menyamar sebagai guru teknologi dan melakukan kekacauan .
Jadi adakah cara menginstal ulang sudo?
sudo
software-installation
Pengguna Terdaftar
sumber
sumber
root
pengguna. Anda kemudian dapat menggunakansu
, atau masuk secara langsung sebagai root jika Anda memiliki akses fisik ke mesin (ssh umumnya akan dikonfigurasi untuk menolak upaya untuk masuk sebagai root).sudo
dan tidak memiliki "boot aman" atau yang setara. Satu-satunya cara saya tahu adalah untuk pergi kexda-dev
dan menginstal paket instalasi penuh. Anda beruntung, sehingga dapat dikatakan, bahwa Anda tidak memiliki batasan ini.Jawaban:
Saya dapat menginstal aplikasi menggunakan:
Dari
man pkexec
:Jadi, saya kira itu
pkexec apt-get install sudo
harus bekerja juga.Sunting : sekarang saya dapat mengonfirmasi: ya ,
sudo
dapat diinstal menggunakan menggunakanpkexec apt-get install sudo
:( klik untuk memperbesar )
sumber
sudo apt-get install gksu ubuntu-minimal
. Tapi lebih baik, periksa paket mana yang dihapus bersamaansudo
.policykit-1
(pada 12.04). Itu dapat dihapus, tetapi dengan mengorbankan paket yang biasanya Anda inginkan pada sistem desktop sepertignome-core
danubuntu-desktop
(pada server, itu lebih mungkin tidak diperlukan oleh paket yang diperlukan). Namun, Radu, apa yang menentukan bahwa akun Anda dapat digunakanpkexec apt-get …
? Apakah ini sesuatu yang Anda konfigurasikan, atau apakah itu terjadi secara otomatis, dan jika demikian, apa yang menentukan bahwa akun dapat melakukan ini?sudo
grup dapat menggunakanpkexec
. (Pengalaman saya adalah bahwa menambahkan pengguna ke grup ini memberipkexec
kemampuan dan menghapus mereka dari itu menghilangkanpkexec
kemampuan; dengan cara ini,pkexec
kemampuan tampaknya diberikan sama dengansudo
kemampuan dalamsudoers
konfigurasi default , yang masuk akal karena dapatsudo
danpkexec
sebagai root adalah terutama yang membuat pengguna menjadi administrator di Ubuntu.) Saya tidak berpikir mencopot pemasangansudo
akan menghapussudo
grup. Tetapi saya tidak sepenuhnya yakin dugaan saya benar dalam semua keadaan yang masuk akal.Anda selalu dapat boot ke Mode Pemulihan , letakkan di shell root dan instal tanpa sudo.
sumber
passwd
. Reboot normaly, pada commandline entersu
diikuti dengan kata sandi baru, dan jalankanapt-get install sudo
(tanpasudo
-prefix)Ya, menginstal ulang
sudo
paket dimungkinkan melalui metode chroot .Boot pertama dari live disk Ubuntu.
Pasang partisi Ubuntu yang sebelumnya diinstal ke direktori apa pun yang Anda inginkan. Dalam kasus saya, saya memasangnya
/media/ubuntu
.Secara default Anda tidak bisa mendapatkan koneksi internet setelah chroot ke partisi. Jadi jalankan perintah di bawah ini untuk membuatnya berfungsi.
Terima kasih kepada @Oli untuk sepotong kode yang luar biasa ini .
Sekarang chroot ke direktori yang di-mount,
Instal
sudo
paket dengan menjalankan,Sekarang keluar dari lingkungan chroot.
Akhirnya boot OS Ubuntu Anda. Sekarang uji
sudo
perintah Anda , itu pasti akan berhasil.sumber
Boot dengan parameter tambahan
init=/bin/sh
pada baris perintah kernel. Ini akan menempatkan Anda langsung ke shell root, dari mana Anda dapat menjalankanapt-get install sudo
dan kemudian reboot. Anda mungkin perlu menjalankan/etc/init.d/networking start
untuk mendapatkan koneksi jaringan yang berfungsi terlebih dahulu. Jauh lebih sederhana daripada main-main dengan CD pemulihan atau disk langsung, jika Anda bertanya kepada saya.sumber
Jika Anda sudah mengatur atau memperbarui
root
kata sandi akun pengguna dengan perintah inisudo passwd root
maka Anda tidak perlu khawatir tentangsudo
penghapusan. Cukup login keroot
akun Anda dan kemudian instalsudo
,Klik di sini untuk memperbesar
sumber
su
pada pc saya memberikan "su: Kegagalan otentikasi", meskipun saya memberikan kata sandi yang benarsudo
. Sekarang coba inisudo passwd root
,, itu akan memungkinkan Anda untuk memperbarui kata sandi akun pengguna root. Sekarang login kembali ke akun root Anda. dengan menjalankansu
perintah. Setelah Anda bisa masuk maka Anda akan bebas untuk membersihkan sudo.Sekarang bersihkan sudo dengansudo apt-get purge sudo
.Login ke akun root Anda untuk menginstal ulang paket sudo dengan menjalankansu
danapt-get install sudo
sudo (dan hak akses root lainnya) hanya berlaku untuk OS yang sedang berjalan. Jika Anda konyol dan menghapus sudo (atau / usr / dalam hal ini) dan tidak memiliki alternatif seperti pkexec, Anda dapat mem-boot dari sesuatu yang lain, menyalin perangkat lunak yang hilang, dan memulai kembali.
Akses fisik membatalkan semua dan semua keamanan perangkat lunak yang mungkin dimiliki sistem Anda.
sumber
Masalah ini tampaknya sangat spesifik untuk Ubuntu. Sebagai pengguna non-ubuntu pada awalnya saya bahkan tidak mengerti mengapa sudo akan menjadi kasus khusus dengan cara apa pun (banyak distribusi tidak menginstalnya secara default).
Anda tidak perlu sudo sama sekali. Ini hanya jalan pintas malas yang memungkinkan Anda untuk mengeksekusi perintah root tanpa benar-benar masuk sebagai root. Namun, jika Anda harus melakukan sesuatu lebih dari satu perintah, itu hanya mengerikan terus-menerus mengawali semuanya dengan sudo. Belum lagi bahwa menggunakan
sudo
membuat pengguna tidak tahu tentang cara kerja perizinan dan akun root. Lebih masuk akal untuk hanya login sebagai root, melakukan administrasi sistem dan logout. Itu Anda lakukansu
jika Anda sudah masuk sebagai pengguna biasa. Atau Anda bisa login langsung sebagai root.Tentu saja Anda perlu memiliki
root
set kata sandi, itu adalah konfigurasi yang masuk akal, jika tidak Anda memiliki sistem seperti windows di mana ada tindakan yang tidak dapat dilakukan oleh siapa pun dan Anda benar-benar terkunci jika entah bagaimanasudo
tidak tersedia (itu memerlukan kerja/etc/
, set$PATH
dan lainnya hal-hal yang dipasang - yang mungkin tidak Anda miliki jika terjadi kesalahan di awal boot).sumber
sudo
dari ubuntu juga harus mempertimbangkan pengaturan kata sandi root (pertanyaan lain menunjukkan bagaimana melakukannya). Seorang pengguna yang tidak peduli dengan hal ini, dapat terus menggunakan sudo.