Saya tidak sengaja menghapus sudoers
file di Mac OS X; apakah ada cara untuk memulihkannya?
Dan setelah Anda memulihkannya, bagaimana Anda mengaturnya ke mode 0440?
9
Jika saya memahami masalah Anda dengan benar, maka saat ini Anda tidak memiliki sudoer dan Anda mencoba melakukan sudo dan itu tidak berfungsi. Dalam hal ini, agar sudo berfungsi, Anda dapat melakukan hal berikut:
Untuk memeriksa sudo berjalan baik cd /etc
dan sudo vim sudoers
. Anda harus dapat melihat file sudoers melalui editor vim. Operasi baca / tulis di / etc akan membutuhkan perintah sudo.
Saya tahu ini sedikit mengejutkan bahwa bahkan setelah tidak memiliki sudoers, melalui UI kita dapat melakukan operasi di / etc. Tapi itu berhasil untuk saya :)
Saya berasumsi Anda mencoba menjalankan
sudo
perintah dan itu memberi Anda kesalahan yang/etc/sudoers
tidak memiliki izin yang benar?Jika sebelumnya Anda telah memberikan
Admin
status akun Anda, Anda harus dapat memperbaiki izin melalui GUI. Buka folder "/ etc" di Finder ("Go" -> "Go to Folder ..."), lalu bukasudoers
properti file. Klik kunci. Berikanadmin
grupread/write
,system
penggunaread-only
,wheel
grupread-only
, daneveryone
grupno access
. Izin sekarang harus benar.Jika Anda tidak menempatkan diri dalam
admin
grup, Anda harus me-reboot OSX ke mode pengguna tunggal dan melakukan perintahchmod 0440 /etc/sudoers
.sumber
Aktifkan pengguna root menggunakan preferensi sistem, dan kemudian buat / etc / sudoers saat login sebagai pengguna root menggunakan
Catatan: Karena perintah dijalankan sebagai root dalam kasus ini, dan id grup
/etc
adalah 0, maka seharusnya secara default dimiliki oleh pengguna dan grup yang benar setelah dibuat ulang, tetapi jika karena alasan tertentu tidak, jalankanSetelah Anda membuat
/etc/sudoers
gunakan visudo untuk memasukkan kode ini ke dalamnya:Jika Anda bukan seorang admin, Anda dapat mem-boot sistem ke mode single-user (ini dapat dilakukan dengan mematikan perangkat dan menahan perintah pada saat startup) dan menjalankan:
dan Anda akan berada di terminal dengan hak akses root, dan Anda akan dapat menjalankan perintah di atas untuk mengatur
/etc/sudoers
sumber
Saya membuat file / tmp / sudoers dengan konten dalam jawaban John Militer dan menjalankan variasi perintah tmm1.
osascript -e 'do shell script "cat /tmp/sudoers > /etc/sudoers; chown root:wheel /etc/sudoers" with administrator privileges'
Bagus!!!
sumber
Jawaban di atas mencakup konten default file, cara memindahkannya ke tempatnya dengan Finder dan mengubah izinnya. Namun, sudo akan mengeluh kecuali pemilik file sudoers adalah root. Satu-satunya cara untuk mengubah pemilik tanpa sudo adalah melalui perintah ini:
osascript -e 'do shell script "chown root:wheel /etc/sudoers" with administrator privileges'
sumber