Respostas:
Se eu entendi o seu problema corretamente, atualmente você não tem sudoers e está tentando fazer sudo e ele não está funcionando. Nesse caso, para que o sudo funcione, você pode fazer o seguinte:
Para verificar se o sudo está funcionando bem cd /etce sudo vim sudoers. Você deve poder visualizar o arquivo sudoers através do editor vim. Qualquer operação de leitura / gravação no / etc exigiria o comando sudo.
Eu sei que isso é um pouco surpreendente que, mesmo depois de não ter sudoers, via interface do usuário, podemos fazer operações no / etc. Mas funcionou para mim :)
Estou assumindo que você está tentando executar um sudocomando e está fornecendo um erro que /etc/sudoersnão tem as permissões corretas?
Se você já concedeu o Adminstatus da sua conta , poderá consertar as permissões por meio da GUI. Abra a pasta "/ etc" no Finder ("Ir" -> "Ir para a pasta ...") e abra as sudoerspropriedades do arquivo. Clique no cadeado. Conceda o admingrupo read/write, o systemusuário read-only, o wheelgrupo read-onlye o everyonegrupo no access. As permissões agora devem estar corretas.
Se você não se colocou no admingrupo, precisará reiniciar o OSX no modo de usuário único e executar o comando chmod 0440 /etc/sudoers.
Habilite o usuário root usando as preferências do sistema e crie / etc / sudoers enquanto estiver conectado como usuário root usando
touch /etc/sudoers; chmod 440 /etc/sudoers
Nota: Como o comando é executado como root nesse caso e o ID do grupo /etcé 0, por padrão, ele deve pertencer ao usuário e ao grupo corretos após a recriação, mas se por algum motivo não for, execute
chown root:wheel /etc/sudoers
Depois de criar, /etc/sudoersuse o visudo para inserir esse código:
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
# Failure to use 'visudo' may result in syntax or file permission errors
# that prevent sudo from running.
#
# See the sudoers man page for the details on how to write a sudoers file.
#
# Host alias specification
# User alias specification
# Cmnd alias specification
# Defaults specification
Defaults env_reset
Defaults env_keep += "BLOCKSIZE"
Defaults env_keep += "COLORFGBG COLORTERM"
Defaults env_keep += "__CF_USER_TEXT_ENCODING"
Defaults env_keep += "CHARSET LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE"
Defaults env_keep += "LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME"
Defaults env_keep += "LINES COLUMNS"
Defaults env_keep += "LSCOLORS"
Defaults env_keep += "SSH_AUTH_SOCK"
Defaults env_keep += "TZ"
Defaults env_keep += "DISPLAY XAUTHORIZATION XAUTHORITY"
Defaults env_keep += "EDITOR VISUAL"
# Runas alias specification
# User privilege specification
root ALL=(ALL) ALL
%admin ALL=(ALL) ALL
# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now
ALL ALL=(ALL) NOPASSWD:/opt/dplat/bin/Revision/CMUpdatePackage/Installer.app/Contents/MacOS/I nstaller
ALL ALL=(ALL) NOPASSWD:/opt/dplat/bin/UpdatePackageInstaller.app/Contents/MacOS/UpdatePackage Installer
Se você não é um administrador, pode inicializar o sistema no modo de usuário único (isso pode ser feito desligando o dispositivo e mantendo o comando + s na inicialização) e execute:
mount -uw /
e você estará no terminal com privilégios de root e poderá executar os comandos acima para configurar /etc/sudoers
Criei um arquivo / tmp / sudoers com conteúdo na resposta John Militer e executei uma variação do comando tmm1.
osascript -e 'do shell script "cat /tmp/sudoers > /etc/sudoers; chown root:wheel /etc/sudoers" with administrator privileges'
Agradável!!!
As respostas acima abrangem o conteúdo padrão do arquivo, como movê-lo para o lugar com o Finder e alterar suas permissões. No entanto, o sudo irá reclamar, a menos que o proprietário do arquivo sudoers seja root. A única maneira de alterar o proprietário sem o sudo é através deste comando:
osascript -e 'do shell script "chown root:wheel /etc/sudoers" with administrator privileges'