Executar sudo da conta de não administrador

19

Ok, então estou me preparando para comprar uma nova máquina, então estou vendo como posso organizar melhor as coisas. Agora, atualmente eu uso uma conta de administrador como minha conta de login principal, mas sei que isso provavelmente não é uma prática recomendada, portanto, gostaria de mudar para uma conta de administrador e não administrador separada em minha máquina.

No entanto, sou desenvolvedor e faço muito trabalho no terminal; portanto, às vezes, preciso executar comandos via sudo, mas é claro que não funcionará da maneira como normalmente o executaria ( sudo foodigite a senha da conta atual ) O que eu gostaria de saber é que, conhecendo os detalhes de uma conta de administrador na minha máquina, é possível executar comandos via sudo(ou similar) de uma conta que não seja de administrador, sem precisar fazer login em uma conta diferente a cada vez? Por exemplo, eu poderia acionar o diálogo de senha de administrador de alguma forma?

Haravikk
fonte
não tenho certeza se isso funcionaria com o osx, mas se houver soluções em sistemas linux (por exemplo, ubuntu) onde o usuário pode executar 'su' via 'sudo'. Dessa forma, você pode digitar 'sudo su', digitar a senha do usuário e acabar com um shell raiz. eu amo esta solução porque nenhuma conta de administrador separado e senha é necessária
weberik
Eu acho que vale a pena mencionar que em sistemas como o UNIX, se você é o administrador, é perfeitamente bom estar executando em uma conta sudoer. O equivalente a administrador do Windows-Xp-esque o tempo todo estaria sendo conectado à raiz.
Linuxios 03/04

Respostas:

25

Parece que você poderia usar o comando SU para alternar para outro usuário no Terminal. Depois de mudar para o usuário administrador, você pode usar os comandos sudo juntamente com a senha da conta de administrador.

Por exemplo, quando estou em um dos Macs dos meus usuários finais e preciso executar algo com privilégios elevados (chown, por exemplo) sem sair da conta do administrador (ladmin), usaria algo assim (em negrito):

Mr-Rabbits-Mac: ~ notadminuser $ su ladmin

Isso solicitará a senha da conta ladmin. Uma vez inserida, você verá um prompt de comando bash. A partir daqui, posso executar qualquer comando sudo desejado, digitando a senha do ladmin conforme necessário ...

bash-3.2 $ sudo chown user2 / some / pasta

Isso executará o comando chown usando o usuário ladmin agora conectado, solicitando a senha da conta ladmin. Depois de concluído, você pode digitar exit para retornar ao prompt do usuário conectado.

Captura de tela de processo semelhante, apenas usando o sudo para executar o comando ls (apenas por exemplo). insira a descrição da imagem aqui

Mr Rabbit
fonte
1
Aha! Parece exatamente o que eu preciso, obrigado! Não há necessidade de adicionar ao arquivo sudoers, tive a sensação de que havia uma maneira de fazê-lo, simplesmente não consegui pensar nisso, obrigado pela ótima resposta!
Haravikk
4

No tipo Terminal login, um espaço your admin namee pressione Enter. Em seguida, digite sua senha de administrador, pressione Enter e você estará logado como administrador, que poderá emitir comandos sudo sem nenhuma configuração ou arquivo adicional para alterar.

Seisdrum
fonte
4

Inclua seu nome de usuário existente no sudoersarquivo e o que você precisa fazer é usar o visudocomando e adicionar linhas como esta:

Especificação de privilégios do usuário

raiz ALL = (ALL) ALL

<randomuser> TUDO = (TUDO) TUDO

% admin ALL = (ALL) ALL

Ou qualquer permissão que você queira se dar. então você pode correr sudo whateveraté o coração. A /etc/sudoerspropósito.

MDMoore313
fonte
4
-1 Nunca edite /etc/sudoerspor si mesmos. Use visudo.
Max Ried
-4

Vá para o Directory Utility, desbloqueie-o e, a partir da opção de menu Edit, selecione "Enable Root User". Digite uma senha exclusiva para a conta raiz e digite-a novamente para verificação. Agora, com isso feito em qualquer conta, você pode abrir o Terminal.app e executar "login", inserir root no login e inserir a senha root que você acabou de configurar. Você deve estar pronto! ;)

Andrew U.
fonte
9
Não há necessidade de habilitar o usuário root para isso.
Édouard
Para que eu possa entrar em qualquer Mac que seja inicializado, abra o Terminal.app e insira o comando login. Digite root e, em seguida, o que como uma senha? Por favor, esclareça-me: /
Andrew U.
3
Quero dizer que você não precisa habilitar o usuário root para fazer o que o OP está pedindo. Na verdade, se você for usar login, poderá fazer login em uma conta de administrador em vez de raiz.
Édouard