Ubuntu: borked file sudoers saya, bagaimana saya bisa memperbaikinya?


11

Saya mengedit /etc/sudoersfile saya dan menyimpannya tetapi ada kesalahan sintaksis di sana. Sekarang saya tidak bisa sudo vim /etc/sudoerskarena sudo menganggap file sudoers tidak valid.

Bagaimana saya bisa memperbaikinya?


Jawaban:


6

Boot sistem ke mode tunggal dan kemudian edit.


Terima kasih, Ubuntu saya berjalan di bawah Virtualbox. Bagaimana cara boot ke mode pengguna tunggal?
fred basset


Namun saya tidak mendapatkan opsi grub saat boot, boot langsung ke Ubuntu ...
fred basset

Coba tahan <Ctrl> atau sesuatu.
Ignacio Vazquez-Abrams

1
@red basset: Saat vm mulai tekan Esc beberapa kali yang seharusnya membuat Anda menjadi grub kemudian pilih opsi mode pemulihan.
user9517

21

Anda tidak boleh mengedit file sudoers Anda secara langsung. Gunakan visudo- ini akan melindungi Anda dari kesalahan sintaksis ini di masa depan.

Untuk memulihkan dari situasi ini, boot ke mode single-user dan edit file atau boot dari livecd dan lakukan hal yang sama.


Terima kasih, saya bertanya-tanya apa yang visudo lakukan secara berbeda. Saya perlu bekerja sekarang bagaimana boot ke mode pengguna tunggal. Ubuntu saya berjalan di bawah Virtualbox.
fred basset

1
visudo menyebabkan Anda mengedit salinan file sudoers. Ini hanya akan mengganti file sudoers jika validasi saat Anda menyimpannya. Ini akan menggunakan editor yang ditentukan oleh variabel EDITOR Anda, sehingga Anda dapat menggunakan editor pilihan Anda. Itu juga dapat digunakan dalam mode periksa jika Anda mengedit file dan ingin memastikan itu masih valid.
BillThor


1

Omong-omong, jika Anda memiliki kata sandi root, cukup login dengannya dan atur kembali seperti semula.

chmod 0440 / etc / sudoers

Ini akan menghindarkan Anda dari boot ke mode single-user atau terburuk, boot dari livecd.

Dalam kasus saya, saya tidak mampu menurunkan server.


1

Jika Anda memiliki Docker yang terinstal dan pengguna Anda adalah anggota dockergrup, Anda dapat dengan mudah keluar dari acar ini (dan beberapa lainnya) tanpa me-reboot atau apa pun:

  1. $ docker run -it --rm -v '/etc/:/root/host.etc/' debian bash
  2. apt-get update && apt-get install [vim|nano|whatever]
  3. cd ~/host.etc/
  4. Perbaiki file yang bermasalah
  5. exit

Buruh pelabuhan? Pernahkah Anda melihat Docker di mana saja di pertanyaan awal?
Pemburu Rusa

2
Karena pertanyaannya tidak merinci apapun tentang lingkungan si penanya dan sekarang tahun 2015, artinya cukup banyak orang yang memasang Docker, saya tidak mengerti sikap Anda terhadap saya atau penghinaan Anda atas kontribusi saya. Sama sekali tidak terduga bahwa orang lain dalam situasi ini akan menginstal perangkat lunak yang, sampai hari ini, telah dibintangi oleh 23.5k orang di GitHub. Jika pkexecjuga karena alasan tertentu tidak tersedia maka ini menyediakan metode alternatif, tanpa me-reboot, itu hampir sama cepat dan sederhana.
Adrian Günter
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.