Saya telah menjalankan perintah berikut secara tidak sengaja
sudo chown [username] -hR /
Sekarang sudo su
mendapatkan error:
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
Bagaimana untuk Memecahkan masalah Ini?
Seperti yang anda'll baca di jawaban ini BEGITU, masalah ini tidak sebagai keras sebagai orang-orang yang membuat itu. Aku punya sudo
perintah kerja lagi tanpa instal ulang dengan mengikuti langkah-langkah sederhana ini:
chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo
Ini memang trik ini dan jauh lebih cepat dan kurang menyakitkan daripada "opsi nuklir" direkomendasikan pada jawaban yang lain.
Jika password root anda tidak diatur, anda dapat boot di Recovery Mode untuk mengatur itu.
Back up data anda dan instal ulang.
Ini mungkin terlihat ekstrim tapi ini isn't hanya sudo
. Kau menghancurkan struktur izin dari seluruh filesystem. Beberapa jawaban yang lain bisa mendapatkan sudo
bekerja, tetapi mengabaikan seluruh masalah ini mengundang kemudian bencana.
Anda bisa mencoba untuk cermin pemilik off lagi menginstal tetapi ada kasus (/var/
misalnya) yang sangat tergantung pada apa yang anda've benar-benar mendapat diinstal. Jika anda ingin mendapatkan skala masalah, I've benar-benar memiliki celah untuk membantu seseorang memperbaiki masalah sebelum. Perbaikan manual, panjang dan bisa dengan mudah meninggalkan sistem anda aman atau rusak.
Memilih melalui kekacauan itu akan mengambil jauh lebih lama dari instalasi yang bersih.
Ini memiliki beberapa drive-by dari orang-orang yang don't memahami keseriusan situasi di sini. Mereka terlihat seperti tumpukan besar dari pekerjaan yang tidak perlu, hal semacam nakal tukang atau mekanik mengatakan untuk mengguncang anda ke bawah untuk pekerjaan yang lebih besar.
Jika anda've hanya mengubah hak akses pada /usr/bin/sudo
, dengan segala cara, perbaiki itu. Tapi pertanyaan ini adalah tentang total perubahan sistem. Setiap file (menyimpan runtime-satunya) yang sekarang dimiliki oleh pengguna. Semua pengguna berjalan (misalnya browser browser eksploitasi) kemudian bisa menimpa file sistem, memata-matai anda, ekstrak data. Ini perlu dikoreksi. Per di atas, ini sulit. Cara termudah adalah instal ulang.
Jadi mohon, don't malas tentang hal ini. Filesystem permissions membantu menjaga anda aman, memperbaiki mereka.
pergi ke mode recovery dengan menekan Spasi saat booting sistem.
pilih root opsi dalam daftar panjang dapat anda lihat setelah masuk ke recovery mode (itu adalah benar-benar root shell)
jenis perintah mount -o remount /
(Atau dalam pemulihan anda dapat klik pada grub pilihan. Ini membantu saya mendapatkan hak akses baca-tulis pada berkas sistem. Ini pada dasarnya diperbarui mode baca/tulis pada file system karena perintah itu't bekerja untuk saya awalnya)
Itu akan remount sistem file anda dalam membaca dan menulis mode.
perintah chown -R root:root /usr
perintah ini akan mengubah kepemilikan dari "user" untuk root lagi secara rekursif
sekarang saya masih punya masalah dengan sudo
perintah, jadi saya lagi mengikuti langkah 1,2,3 dan dieksekusi chmod 4755 /usr/bin/sudo
Sekarang saya benar-benar berpikir bahwa re-instalasi telah benar-benar "opsi nuklir"
Punya masalah yang sama pada saya droplet digital ocean.
sudo: /usr/bin/sudo
harus dimiliki uid 0
dan memiliki setuid
bit set.
Di bawah ini adalah perintah yang saya jalankan dan reboot setelah.
chown -R root:root /usr/bin/sudo
chmod -R a=rx,u+ws /usr/bin/sudo
chown -R root:root /usr/lib/sudo/sudoer.so
chmod -R a=rx,u+ws /usr/lib/sudo/sudoer.so
Semoga membantu.
Sayangnya, jika anda tidak memiliki backup penuh, mungkin hal terbaik yang dapat anda lakukan pada saat ini adalah dengan menginstal ulang.
Mempertimbangkan bahwa anda telah mengubah semua berkas kepemilikan untuk pengguna yang sama, benar-benar mengacaukan keamanan paradigma dari sistem anda....
Jika anda mencari situs ini ada banyak masalah yang sama dengan chmod, seperti misalnya https://askubuntu.com/questions/265080/how-can-i-recover-from-chmod-r-a-wrx-command
Metode di atas tidak't bekerja untuk saya, karena saya tidak't "login kembali sebagai root" (password tidak diketahui) Tapi aku punya root shell dengan mengedit
vi /etc/lightdm/lightdm.conf
autologin-user=root
greeter-show-manual-login=true
Setelah reboot saya akhirnya bisa berjalan
chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo
Saya tidak bisa edit. conf.conf
file di bawah sistem yang sedang berjalan. Aku tetap hal-hal seperti ini:
/etc/lightdm/lightdm.conf
pada instalasiautologin-user=root penyambut-show-manual-login=true
chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo
/etc/lightdm/lightdm.conf
(anda don't ingin autologin sebagai root setiap waktu, yang akan menjadi sangat tidak aman dan berbahaya) Saya telah berubah /usr/lib/ root pemilik tapi tapi sudo hanya mengeksekusi dengan login root di terminal.
langkah satu: su root langkah dua: cd /usr/lib langkah tiga: chown -R root:root sudo
dan yang itu. Hanya CATATAN anda memiliki tu menjalankan su root setiap kali anda ingin menggunakan sudo.