O que devo entrar no Terminal usando o sudo para me tornar um administrador?

11

Minha conta de usuário é uma conta padrão no meu Mac. O que devo entrar no Terminal usando sudopara me tornar o administrador?

Steven Savary
fonte
1
Trata-se de alterar permanentemente sua conta de usuário ou executar uma sessão de terminal com os direitos de um usuário administrador (ou root) para o qual você conhece as informações de logon?
rackandboneman

Respostas:

14

Se o usuário real <nome_do_usuário> tiver uma conta padrão, você deverá inserir

sudo dscl . -append /Groups/admin GroupMembership <user_name>

para tornar <user_name> um administrador.

Apenas um número restrito de usuários é sudoers (ou seja, contas com permissão para executar suou sudocom privilégios de root com sucesso). O arquivo sudoers padrão ( / etc / sudoers ) no OS X se parece com o seguinte:

...
# 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
...

Portanto, somente a raiz e os membros do grupo de administradores têm permissão para executar sudopor padrão. O comando acima executado por <nome_do_usuário> falhará consequentemente, porque <nome_do_usuário> não está na lista.

Para habilitar o sudoing para < nome_do_usuário > , você deve adicionar <nome_do_usuário> à lista (abaixo de # especificação de privilégio do usuário ) ou descomentar a linha de roda% com a sudo visudoqual deve ser executada por sudoers novamente (esse é o Catch22 mencionado por Tetsujin).

Klanomath
fonte
1
Bem específico para combater o meu "maravilhosamente vago". +1, como sempre.
Tetsujin
1
Não me lembro: não fiz a última revisão do OSX. incluir algum tipo de "não-realmente-sudo" que não possua todos os direitos padrão do Unix su?
Carl Witthoft
3
@CarlWitthoft Sim, você provavelmente está pensando em SIP .
Deditos
12

Isso é meio que um Catch22…

Você já precisa ser um administrador para estar na lista de sudoers [com muito poucas exceções alteradas manualmente]

Essencialmente, você não pode se promover.
Esse é o objetivo de sudo e ser administrador, para poder atribuir habilidades limitadas a não administradores.

Tetsujin
fonte
-2

Se você tiver acesso a uma conta de administrador, poderá se tornar temporariamente essa conta com:

su - <admin_username>

A partir daí, você pode executar ações administrativas via sudo.

Se você não tem acesso a uma conta de administrador, não há uma maneira "sancionada" de obter acesso de administrador (já que esse é o ponto principal de ter funções de administrador separadas), mas existem várias maneiras menos do que legítimas de obtê-la. , como explorações de escalonamento de privilégios ou inicialização no modo de usuário único. (Estes serão deixados como um exercício para o leitor.)

fofo
fonte