Setiap kali saya mencoba melakukan apa saja yang memerlukan kata sandi saya, ia mengembalikan ini:
u7ur7l3@ubuntu:~$ sudo
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
sudo: fatal error, unable to load plugins
u7ur7l3@ubuntu:~$
Jadi saya tidak dapat menginstal apa pun dari Pusat Perangkat Lunak / manajer paket atau menjalankan perintah apa pun di terminal yang memerlukan kata sandi saya. Saya bisa masuk, tapi cukup banyak.
Saya tidak sengaja mengubah izin beberapa file, lalu mengubah beberapa lagi untuk memperbaikinya: /. Sekarang saya benar-benar bingung apa yang harus dilakukan.
Inilah yang terjadi ketika saya mencoba membuat sudo bekerja kembali menggunakan pkexec:
u7ur7l3@ubuntu:~$ pkexec chown root /usr/lib/sudo/sudoers.so
Error getting authority: Error initializing authority: Error calling StartServiceByName for org.freedesktop.PolicyKit1: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ExecFailed: Failed to execute program /usr/lib/dbus-1.0/dbus-daemon-launch-helper: Success
u7ur7l3@ubuntu:~$ sudo ls
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0 sudo: fatal error, unable to load plugins
Dan untuk mengubah izin, saya menggunakan Root Actions sebagai layanan / plugin lumba-lumba, jadi riwayat tidak menunjukkan perubahan izin kepada saya.
Saya baru sadar bahwa suara tidak berfungsi lagi. Ketika saya masuk ke Phonon, pengaturan default saya dan perangkat pemutaran bahkan tidak ada. Juga saya tidak memiliki opsi untuk mematikan, saya hanya bisa keluar atau keluar.
sumber
pkexec
perintah?sudo
dan PolicyKit (viapkexec
) berfungsi.Jawaban:
Kepemilikan setidaknya satu dari file sistem penting Anda salah. Itu hal yang buruk; jika ini terjadi pada banyak file sistem (mungkin Anda menjalankan
sudo chown
perintah besar dengan-R
flag di beberapa titik?), ini dapat menyebabkan sejumlah kesalahan dan ketidakstabilan sistem lainnya. Jadi jika Anda baru saja menginstal Ubuntu , Anda mungkin ingin menginstal ulang seperti yang disarankan Adam Heathcote .Tetapi Anda tidak perlu menginstal ulang untuk memperbaiki masalah ini . Sebagai gantinya, perbaiki kepemilikan pada file itu. Jika Anda mendapatkan kesalahan tentang file lain setelah itu, Anda dapat memperbaikinya juga (meskipun Anda mungkin harus memberi tahu kami apa pesan kesalahannya, sehingga kami dapat memberi tahu Anda cara memperbaikinya juga).
sudo
tidak berfungsi, tetapi menggunakansudo
adalah salah satu dari dua cara bagi administrator untuk melakukan tindakan sebagai root di Ubuntu. Yang lainnya adalah Polkit (yang dulunya disebut PolicyKit).Jalankan perintah ini, yang menggunakan Polkit (via
pkexec
) untuk mengubah kepemilikan/usr/lib/sudo/sudoers.so
kembali keroot
(yaitu, uid 0):Lalu coba gunakan
sudo
lagi. Anda dapat menjalankan sesuatu yang sepele , dan melihat apakah Anda mendapatkan pesan kesalahan.sudo ls
Akhirnya, saya sarankan menjalankan
history
untuk mengungkapkan semua perintah yang telah Anda jalankan. Semoga itu akan mencantumkan semua perintah yang telah Anda jalankan yang telah mengubah izin. Dengan asumsisudo
sekarang berfungsi, saya sarankan memposting pertanyaan baru termasuk output darihistory
, untuk mendapatkan bantuan membatalkan semua kepemilikan file dan perubahan izin yang telah Anda lakukan.Jika
pkexec
tidak berhasil ...Anda sudah mencoba
pkexec
dan itu tidak berhasil. Karenasudo
Polkit tidak berfungsi untuk memungkinkan Anda melakukan tindakan sebagai root, Anda harus boot ke mode pemulihan dan mendapatkan shell root. Untuk melakukan ini, tahan Shiftsaat boot komputer Anda, untuk memastikan Anda mendapatkan menu boot GRUB terlihat. Pilih entri yang berisi mode pemulihan kata (umumnya, Anda harus memilih entri yang paling dekat dengan yang memiliki kata-kata itu). Kemudian Anda akan mendapatkan menu tempat Anda memiliki sejumlah opsi - pilih opsi untuk jatuh ke shell root.Instruksi terperinci tentang cara mengakses shell root dalam mode pemulihan ada di sini:
Setelah Anda memiliki shell root, jalankan:
Jika Anda mendapatkan kesalahan tentang file atau sistem file yang tidak dapat dimodifikasi, maka remount itu readwrite:
(Sumber untuk ide remounting dan bagaimana melakukannya: jawaban yang sebagian besar tidak berhubungan ini .)
Kemudian setelah menjalankan
mount
perintah itu, jalankan kembalichown
perintah di atas dan lihat apakah itu berhasil.Setelah selesai dalam mode pemulihan, Anda dapat reboot dengan menjalankan:
sudo
seharusnya bekerja, atau setidaknya memberikan beberapa kesalahan lainnya .Terakhir, harap perhatikan bahwa mengingat kesalahan yang Anda tunjukkan, kemungkinan banyak file sekarang memiliki kepemilikan atau izin yang salah. Ini akan ideal jika Anda bisa mencari tahu file mana yang Anda modifikasi dengan cara ini. Misalnya, jika Anda bisa mengetahui bahwa itu semua file dalam beberapa folder tertentu, maka mungkin untuk memperbaiki tingkat lengkap dari masalah terbaru yang Anda alami.
Menginstal ulang jelas merupakan suatu pilihan, tetapi terutama jika semua yang Anda ubah adalah kepemilikan (dan bukan izin, yang agak sulit direkonstruksi karena mereka lebih bervariasi), harus dimungkinkan untuk hanya mengatur izin secara rekursif ke pemilik aslinya (mungkin biasanya root ) dan membalikkan kerusakan seluruhnya.
Mendapatkan
sudo
bekerja kembali adalah langkah pertama. Semoga teknik di atas akan memungkinkan Anda untuk melakukan itu.sumber