Saya menggunakan Ubuntu 14.04 baru-baru ini. Dan entah bagaimana saya mengubah izin menjadi /etc/sudoers
mengajukan. Jadi setiap kali saya menjalankan perintah apa pun menggunakan Sudo, saya mendapatkan kesalahan ini:
sudo: unable to stat /etc/sudoers: No such file or directory
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
Saya dapat masuk sebagai pengguna dan mengubah izin kembali. Jadi sekarang ketika saya menjalankan ls -l /etc/sudoers
perintah yang saya dapatkan:
-r--r----- 1 root root 755 жов 14 2016 /etc/sudoers
Tetapi saya tidak dapat menjadikan root sebagai pemilik. Dan saya masih mendapatkan kesalahan yang sama, ketika saya mencoba menggunakan sudo.
Saya telah membaca banyak hal menakutkan tentang masalah ini. Jadi bisakah Anda membantu saya menyelesaikan masalah ini? Saya akan sangat berterima kasih atas sarannya.
Jawaban yang Diterima:
Pintasan:
dpkg-konfigurasi ulang: Jika saja ada yang salah dengan izin /etc/sudoers
file, dengan akses root jalankan:dpkg-reconfigure sudo
. sesuatu seperti pkexec dpkg-reconfigure sudo
harus melakukan pekerjaan.
visudo: Jika dpkg-reconfigure
tidak bekerja untuk Anda, maka jalankan saja pkexec visudo
, sudoers
file akan dibuka di editor, lalu simpan dan tutup file, visudo
akan memperbaiki izin untuk Anda.
Lagi pula, jika Anda mengubah sudoers.d
izin direktori juga, lalu jalankan:
pkexec chmod 755 /etc/sudoers.d
Jika file ada di sana, dan izinnya sebagaimana mestinya tetapi Anda masih mendapatkan pesan kesalahan ini, satu-satunya kemungkinan yang muncul di benak saya adalah Anda telah melanggar izin lain dan sudo
tidak memiliki akses ke /etc/sudoers
. tebakan yang paling mungkin adalah izin dari /etc/
.
Jadi jalankan:
pkexec chmod 755 /etc
Kami selesai, namun jika Anda menginginkan instruksi terperinci untuk memulihkan sudoers
yang rusak atau dihapus file dengan izin yang kacau ikuti, kami akan menggunakan cara lain untuk memperbaikinya.
Pengantar
Saya mengacaukan /etc/sudoers
saya file untuk mendapatkan kesalahan yang sama seperti Anda. Saya menjadi sangat dekat, jadi saya benar-benar menghapus milik saya dan itu menjadi persis seperti milik Anda.
Apa yang telah saya lakukan untuk memperbaiki masalah ini:
Akun root saya terkunci, dan tidak memiliki kata sandi, jadi tidak mungkin bagi saya untuk melakukan apa yang ingin saya lakukan. namun jika akun root Anda aktif dan memiliki kata sandi, alihkan ke pengguna root dengan su -
dan lewati bagian ini. jika tidak, ikuti petunjuknya.
Sebelum melangkah lebih jauh, saya harus menyebutkan bahwa Anda selalu dapat menggunakan live disk untuk melakukan chroot
ke dalam sistem Anda, ada banyak instruksi tentang chroot menggunakan live disk, jadi saya tidak akan repot-repot memberikan semua instruksi itu lagi, sebaliknya saya akan menganggap kita tidak memiliki live disk dan kita akan menggunakan apa yang sudah kita miliki, untuk memperbaiki masalah ini. Jika Anda senang dengan cheroot
pergi ke sana, itu akan berhasil juga.
Mendapatkan akses root
- Reboot sistem Anda
- Saat grub muncul tekan e untuk mengeditnya
- Di akhir baris yang dimulai dengan linux, tambahkan
init=/bin/bash
- Tekan CTRL +X
Sekarang Anda akan dijatuhkan ke shell bash dengan akses root. pertama remount sistem file dengan akses tulis:
mount -o remount,rw /
Kemudian buka kunci pengguna root dan atur kata sandi di atasnya:
passwd -u root
passwd root
Sekarang Jika /etc/sudoers
. Anda masih ada di /etc
, pindahkan ke tempat lain:
mv /etc/sudoers /etc/sudoers.broken
Karena kami akan memberi tahu manajer paket kami bahwa file ini hilang, dan itu akan menggantikannya untuk kami dengan yang benar, jadi seharusnya tidak ada di sana.
Kami hampir selesai, reboot sistem Anda. login sebagai pengguna biasa, buka terminal lalu coba su -
untuk beralih ke pengguna root. Saya tidak dapat melakukannya, jadi yang saya lakukan adalah menggunakan CTRL +ALT +F1 , untuk masuk ke tty1
, lalu saya masuk sebagai root dengan kata sandi baru yang baru saja kita tetapkan.
Kembalikan sudoers
Kita cukup menginstal ulang sudo
paket, namun menginstal ulang tidak mengembalikan file ini, kita harus memberi tahu dpkg
untuk memperbaiki file konfigurasi yang hilang juga, seperti ini:
apt-get -o Dpkg::Options::="--force-confmiss" install --reinstall sudo
Ingat bahwa ini akan menanyakan tentang menginstal /etc/sudoers
file, dengan memasukkan y
katakan ya.
Jika tidak berhasil untuk Anda, lakukan hal berikut sebagai root:
mkdir /root/tmp
cd /root/tmp
apt-get download sudo
dpkg-deb -x sudo*.deb .
cp etc/sudoers /etc/sudoers
cd /root
rm -r tmp
Sekarang mungkin ada beberapa perbedaan antara izin, jalankan dpkg-reconfigure sudo
untuk memperbaikinya. jika tidak berhasil, jalankan visudo
sebagai pengguna root, sudoers
file akan dibuka di editor, lalu simpan dan tutup file, visudo
akan memperbaiki izin untuk Anda.
Jika semuanya berjalan dengan baik, file sudoers Anda akan kembali dan Anda akan dapat menggunakan sudo seperti sebelumnya.