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 ke root
(yaitu, uid 0):
pkexec chown root /usr/lib/sudo/sudoers.so
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 asumsi sudo
sekarang berfungsi, saya sarankan memposting pertanyaan baru termasuk output dari history
, 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. Karena sudo
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:
chown root /usr/lib/sudo/sudoers.so
Jika Anda mendapatkan kesalahan tentang file atau sistem file yang tidak dapat dimodifikasi, maka remount itu readwrite:
mount -rw -o remount /
(Sumber untuk ide remounting dan bagaimana melakukannya: jawaban yang sebagian besar tidak berhubungan ini .)
Kemudian setelah menjalankan mount
perintah itu, jalankan kembali chown
perintah di atas dan lihat apakah itu berhasil.
Setelah selesai dalam mode pemulihan, Anda dapat reboot dengan menjalankan:
reboot
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.
pkexec
perintah?