OSX 10.12 Sierra'da “sudo” nasıl açılır


2

"Sudo some_command" yazdığımda, terminal şunu gösterir:

sudo: unable to stat /etc/sudoers: Permission denied
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

hesabım bir yönetici hesabı ve / etc / sudoers şunları içeriyor:

root        ALL = (ALL) ALL
%admin      ALL = (ALL) ALL

Bu nasıl düzeltilir?


1
Lütfenls -l /etc/sudoers
— nohillside

@ patrix çıktısı-r--r-----+ 1 root wheel 1563 Jan 11 10:42 /etc/sudoers
— Desmond Chen

1
Uhh, ls -le /etc/sudoersve ls -led /etc o zaman lütfen, lütfen
— yokuş yukarı

@patrix -rw-rw-r--+ 1 root wheel 1563 Jan 11 10:42 /etc/sudoers 0: group:admin allow read,write,append,readattr,writeattr,readextattr,writeextattr,readsecurityvelrwxr-xr-x@ 1 root wheel 11 Dec 10 21:13 /etc -> private/etc
— Desmond Chen,

Hiç işe yaradı mı? ACL biraz garip görünüyor (bu dosyada bir tane yok), ancak bunun herhangi bir soruna yol açıp açmadığından emin değilim (ve burada denemek istemiyorum).
— yokuş yukarı

Yanıtlar:


6

Terminal'i açın ve root ile şu komutu etkinleştirin:

dsenableroot -u <your_admin_username> -p <your_password> -r <root_password> #choose some root password here 

Eğer sudoer zarar görürse, yine de yapamazsınız sudo- ama suizinleri buna göre düzeltebilecek ve onarabilirsiniz:

su #when asked afterwards enter the above <root_password>
chown root:wheel /etc/sudoers
chmod 440 /etc/sudoers
chmod -a "admin allow read,write,append,readattr,writeattr,readextattr,writeextatt‌​r,readsecurity" /etc/sudoers
exit

Yönetici hesabınıza geri döndükten sonra kökü devre dışı bırakın:

dsenableroot -d -u <your_admin_username> -p <your_password>

Yukarıdakilerin yardım etmemesi durumunda, root hesabını yukarıdaki ile aynı şekilde tekrar etkinleştirin, hesabınızın çıkışını yapın, root(yup, gerçekten):

Terminali açın ve yazın chmod g+x /, terimi kapatın, oturumu kapatın ve tada, sudo tekrar çalışıyor :) Bu sorun çoğunlukla /linux yoluyla rw modunda monte ettiğinizde meydana gelir ( hfsplusr / w modunda sigorta kullanın ve bindfs)


BTW grup yöneticisi ACL sudo'lar dosyasına zarar vermiş gibi görünmüyor!


2
Tek bir kullanıcı kipinde daha iyi önyükleme yapın, bunun için root
— Mark

Ve tek kullanıcı girişi tam olarak ne yapmalı? Launchctl / diskarbitrioned ( romount olduğundan beri ) ve nasıl hareket edeceğinizi bilmeniz gerekiyor mount -rw /ve sonra visudobunu çözmeyeceksiniz.
— PJJ

@mark Başka bir cevabın karşılığı olabilir
— nohillside

1
@PJJ Tamam Cevabınızı çok değiştirdim ;-) - fakat ikinci dsenable root satırından sonra root olarak giriş yapamazsınız. Ya chmod g+x /su modunda ya da son cümlenizi 2. dsenableroot satırının önüne taşımak zorundasınız. Ayrıca: Sierra'da buna gerek olmamalı!
— klanomath

Doğru, doğru, çok fazla kafa karıştırıcı olmayacağına dair umut verici bir şekilde denetlenmiş;) - chmod g+x /h4x0rs'dan beri çoğu zaman darwin'i linux ile karıştırır ve haritalarını mutlu ederler. ;)
— PJJ

0

İşte üst düzey adımlar:

$ dsenableroot -u <user-username> -p <your-user-password> -r <new-password-for-root>

Sonra sudoers dosyasının bir yedeğini alın ve düzenleyin.

$ su
Password:<your-new-root-password>
sh-3.2# cp /etc/sudoers /etc/sudoers.bak
sh-3.2# vi /etc/sudoers.bak
sh-3.2# cp /etc/sudoers.bak /etc/sudoers
sh-3.2# exit

Kök erişimini son devre dışı bırak:

$ dsenableroot -d -u abdi -p <root-password>
dsenableroot:: ***Successfully disabled root user.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.