Privilégios sempre sudo

9

Eu procurei por isso, e a resposta provavelmente está em um milhão de lugares na net, mas não consigo encontrá-lo ...

Como você dá privilégios de root na sua conta no Linux para que você não precise sudo de cada comando que requer privilégios? É ainda mais irritante do que o Controle de Contas de Usuário do Windows.

( Por favor ... eu não preciso de uma palestra sobre como eu estaria vivendo uma vida perigosa. Obrigado.)

    
por Mehrdad 11.01.2011 / 02:09

6 respostas

0

A resposta correta para minha pergunta:

Você pode alterar seu ID de usuário (UID) e ID de grupo (GID) para zero em /etc/passwd para obter privilégios de root.

No entanto:

Se você fizer isso, você não poderá fazer login novamente !

Você pode, no entanto, criar um novo usuário e alterar seu ID de grupo / usuário para 0. Essencialmente, esse usuário será outro root , mas com uma pasta de perfil diferente, etc.

Então você pode usar esse perfil como se você fosse root mesmo! : D

Outra "solução":

(se você gosta de senhas em branco)

  1. Execute os comandos abaixo e compare as saídas

    sudo cat /etc/shadow
    sudo sed "s/\(^$(whoami):\)[^:]*//" /etc/shadow
    

    Você deve ver que o último removeu o texto sem sentido na frente do seu nome de usuário (que é lido usando $(whoami) ). (Se você não fizer isso, não continue!)

  2. Quando estiver pronto, execute o comando para sobrescrever /etc/shadow (por sua conta e risco!)

    sudo sed -i.bak "s/\(^$(whoami):\)[^:]*//" /etc/shadow
    
  3. Sua conta agora tem uma senha em branco, e você não deve mais ser solicitado para permissões sudo. (Pelo menos, foi o que aconteceu comigo.)

Nota:

Você também pode precisar ativar o login sem senha ; Não tenho certeza se é necessário, no entanto.

    
por Mehrdad 31.07.2011 / 08:26
7

Isso funciona para você?

sudo EDITOR=gedit visudo

Altere esta linha:

%admin ALL=(ALL) ALL

para esta linha:

%admin ALL=(ALL) NOPASSWD: ALL

Sem palestras. :)

    
por user8290 11.01.2011 / 18:04
6

Você não faz. Duas coisas que você pode fazer são:

1) Execute sudo -s para ficar root quando você planeja entrar com vários comandos e não quer continuar prefixando-os com sudo.

2) Você pode configurar o seu arquivo sudoers para permitir que você execute o sudo sem precisar digitar sua senha.

    
por psusi 11.01.2011 / 03:38
1

Você pode instalar / ativar o comando 'su' e configurar o shell para executá-lo na inicialização.

    
por TheLugal 11.01.2011 / 02:17
1

Eu não vejo como é difícil executar sudo -i uma vez em um terminal e, em seguida, basta usar este terminal (ou você pode abrir mais de um, mas então você teria que digitar sua senha novamente ) para fazer todas as coisas do sudo.

(E não, eu não consigo ver o grande problema em digitar sua senha de vez em quando. Não é tão demorado assim, e a menos que você feche seu terminal após cada comando, o sudo não pedirá seu passe um tempo depois de ter autenticado).

    
por LasseValentini 11.01.2011 / 10:21
0

Eu recomendo que você não se dê GID 0. O SUDO não está lá para tornar as coisas complicadas. O único motivo para fazer outra conta root (se o diretório home for / root / ou o diretório personalizado, por exemplo, / home / root2 /) é que há dois administradores no sistema que não desejam compartilhar uma senha raiz.

Caso contrário, use sudo. E supondo que você não seja usuário experiente do Unix, também há o risco de você esquecer quais ferramentas são somente raiz e o que é para usuários comuns.

MAS, se você acha que tem um usuário normal seguro (eu pessoalmente uso a senha STRONG com este método), eu deixo meu usuário (ou seja, tatu.staff / uid = 1xxx, gid 50) executar o SUDO sem senha. Portanto, eu nunca misturo o que é somente para o root e o que é para o usuário.

Use as instruções acima para criar o arquivo sudoers (e os grupos correspondentes) para que um usuário específico execute o SUDO sem senha ou veja o arquivo de exemplo que eu irei colar aqui:

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Defaults        !authenticate

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL
YOURUSER    ALL=(ALL) NOPASSWD:ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
%wheel  ALL=(ALL) NOPASSWD:ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

YOURUSER sendo seu nome de usuário, essa linha que permite que um usuário específico execute o SUDO sem senha.

todos os usuários do grupo SUDO precisam fornecer senha.

todos os usuários na roda do grupo podem executar o sudo sem senha - útil se você quiser dar acesso SUDO sem senha a vários usuários, que é, a propósito, simplesmente colocar UMA IDÉIA MUITO MAU.

TAMBÉM: - Lembre-se do caractere% antes dos nomes do GRUPO. - Pode-se editar o arquivo / etc / group diretamente, mas isso não é recomendado. Use ADDGROUP para editar, veja mais informações digitando: man addgroup

Devo enfatizar novamente que SEMPRE edite o arquivo sudoers usando o comando VISUDO, NUNCA diretamente com o editor. Isso garante que você sempre obterá arquivos sudoers válidos - erros de digitação ou declarações ruins, etc., são coisas muito ruins em um arquivo tão importante, e o visudo salva todos os problemas que você pode não conseguir recuperar por si mesmo, e eu aposto primeira resposta à pergunta depois isso é "sempre use visdo. eles não te disseram isso? oh eles fizeram? O que há de errado com você?" ou algo parecido;)

  

-

     

Saudações da Finlândia - é bom, inverno muito bom aqui, apenas -10   Celsius, não aquelas temperaturas terrivelmente inferiores a -25 ° C.

     

\\ tatu-o

    
por tatu stty 24.11.2016 / 22:22