Eu apaguei acidentalmente o arquivo sudoers no Mac OS X; Existe alguma maneira de recuperá-lo?

7

Eu acidentalmente excluí o arquivo sudoers no Mac OS X; existe alguma maneira de recuperá-lo?
E uma vez que você recuperou, como você configurou para o modo 0440?

    
por rake 02.05.2012 / 19:10

4 respostas

6

Se eu entendi seu problema corretamente, atualmente você não tem sudoers e está tentando fazer o sudo e não está funcionando. Neste caso, para obter o sudo funcionando, você pode fazer o seguinte:

  1. Crie o arquivo sudoers na sua pasta pessoal. Você pode encontrar conteúdo padrão aqui sudoers
  2. Abra a pasta “/ etc” no Finder (“Ir” - > “Ir para a pasta…”).
  3. Agora copie o arquivo sudoers da pasta home para a pasta / etc pelo Finder.
  4. Prompt virá pedindo senha.
  5. Insira a senha correta e pronto.

Para verificar se o sudo está funcionando bem cd /etc e sudo vim sudoers . Você deve poder visualizar o arquivo sudoers via editor vim. Qualquer operação de leitura / gravação em / etc exigiria o comando sudo.

Eu sei que isso é um pouco surpreendente, mesmo depois de não ter sudoers, através da UI podemos fazer operações em / etc. Mas funcionou para mim:)

    
por 30.04.2013 / 07:41
5

Estou assumindo que você está tentando executar um comando sudo e está dando a você um erro de que /etc/sudoers não possui as permissões corretas?

Se você já concedeu sua conta Admin status, poderá consertar as permissões por meio da GUI. Abra a pasta “/ etc” no Finder (“Ir” - > “Ir para a pasta…”) e abra as propriedades do arquivo sudoers . Clique no cadeado. Conceda o admin group read/write , o system user read-only , o wheel group read-only e o everyone group no access . As permissões devem estar corretas agora.

Se você não se colocou no grupo admin , precisará reinicializar o OSX em modo de usuário único e execute o comando chmod 0440 /etc/sudoers .

    
por 02.05.2012 / 21:06
5

Habilite o usuário root usando as preferências do sistema e, em seguida, crie / etc / sudoers enquanto estiver logado como usuário root usando

touch /etc/sudoers; chmod 440 /etc/sudoers

Nota: Como o comando é executado como root neste caso, e o id do grupo /etc é 0, ele deve, por padrão, pertencer ao usuário e ao grupo corretos após a recriação, mas se por algum motivo não é, corra

chown root:wheel /etc/sudoers

Depois de ter criado /etc/sudoers use visudo para inserir este 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 (se não souber como fazer isso, basta pesquisar no Google) e executar:

mount -uw /

e você estará no terminal com privilégios de root, e você poderá executar os comandos acima para configurar /etc/sudoers

    
por 28.03.2016 / 00:09
0

As respostas acima abrangem o conteúdo padrão do arquivo, como movê-lo para o local com o Finder e alterar suas permissões. No entanto, o sudo irá reclamar a menos que o dono do arquivo sudoers seja root. A única maneira de mudar o dono sem o sudo é através deste comando:

osascript -e 'do shell script "chown root:wheel /etc/sudoers" with administrator privileges'

    
por 15.10.2017 / 02:16

Tags