Privilégios Always Sudo


15

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

Como você concede privilégios de root à sua conta no Linux para que você não precise de sudotodos os comandos que requerem privilégios? É ainda mais irritante do que o Controle de contas de usuário do Windows.

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

Respostas:


11

Isso funciona para você?

sudo EDITOR=gedit visudo

Mude esta linha:

%admin ALL=(ALL) ALL

para esta linha:

%admin ALL=(ALL) NOPASSWD: ALL

Sem palestras. :)


3
+1, mas o problema é que ainda é necessário que eu digite sudo.
precisa saber é o seguinte

@ Lambert Ok, bem, eu não quero fazer isso para testá-lo, mas acho que você pode simplesmente dar ao root uma senha 'sudo passwd root'. Logout como seu usuário; faça login como root. Agora, o GDM permite o login root?

2
Bem, eu já fiz isso para definir a senha root e fazer login como root, e é claro que não preciso sudomais. O problema é descobrir como fazer a mesma coisa para uma conta diferente.
precisa saber é o seguinte

6

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

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

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


2
Bem, o que eu não entendo é que, se consigo fazer login como "root" com tanta facilidade e nunca precisar pensar na palavra "sudo", então por que não consigo fazer a mesma coisa em uma conta diferente?
precisa saber é o seguinte

@ Lambert: Porque essas outras contas não são UID 0.
janc

1
Huh ... então até me adicionar ao grupo sudoou algo assim não é suficiente? :(
user541686

2

Não vejo como é difícil rodar sudo -iuma vez em um terminal e, em seguida, basta usar esse terminal (ou você pode abrir mais de um, mas precisará digitar sua senha novamente ) para fazer todas as suas coisas no sudo.

(E não, eu realmente não vejo o grande problema de digitar sua senha de vez em quando. Realmente não consome muito tempo e, a menos que você feche seu terminal após cada comando, o sudo não solicitará seu passe por um tempo depois você se autenticou).


3
Não é que consuma tempo, é apenas que é muito irritante. Se eu disser que quero mudar o papel de parede da tela de login, não preciso de um "Você está maluco? Não posso confiar em você". mensagem me perguntando se estou de fato sensato por sequer pensar em executar uma ação de alto privilégio, dizendo que, se eu digitar minha senha incorretamente, esse evento será relatado . É como se meu próprio computador não confiasse em mim e, quando você estiver trabalhando por um tempo, fica muito irritante que as ações tolas de outras pessoas com o computador façam com que seu próprio computador o questione.
precisa saber é o seguinte

Não pretendo me irritar com isso, mas às vezes os recursos de "segurança" em softwares projetados para proteger usuários inexperientes me deixam maluco. Se eu quiser fazer meu computador explodir, não há mais nada além de um "Você tem certeza ?!" mensagem com a mensagem "Não pergunte novamente". caixa ... mais, e apenas derrota o propósito de ter uma confirmação. Se eu tiver que inserir uma confirmação para tudo, é possível que não exista uma - não vai mudar minha determinação, mas pelo menos vou fazer as mesmas coisas cinco vezes mais rápido, sem a irritação.
precisa saber é o seguinte

O design de segurança do Ubuntu é para um ambiente doméstico com vários usuários. As alterações em todo o sistema devem ser feitas apenas por um indivíduo confiável, não apenas por alguém que tenha uma conta de usuário ou que esteja emprestando sua conta.
Jeremy Bicha

@JeremyBicha Eles não adicionaram nada além do design original de segurança / autorização unix, que o Imo foi feito para o compartilhamento de tempo multiusuário nos mainframes ... Onde isso é apropriado para o lar é outra questão, mas estamos presos a ele.
Masterxilo

1

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


Existe mais uma maneira "direta"? Como usar sudoersou me adicionar a algum grupo especial?
precisa saber é o seguinte

sudo -s faz a mesma coisa.
psusi 11/01

@psusi: Mas não é exatamente o objetivo da pergunta não ter que fazer isso toda vez que inicio o computador?
precisa saber é o seguinte

Existe alguma maneira de fazê-lo não solicitar a senha todas as vezes?
precisa saber é o seguinte

0

A resposta correta para minha pergunta:

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

Contudo:

Se fizer isso, você vai não ser capaz de voltar a iniciar sessão !

No entanto, você pode criar um novo usuário e alterar seu grupo / ID de 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 fosse rootele 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):\)[^:]*/\1/" /etc/shadow
    

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

  2. Quando estiver pronto, execute o comando para substituir /etc/shadow(por seu próprio risco!)

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

Nota:

Você também pode precisar habilitar o login sem senha ; Não tenho certeza se isso é necessário.


Eu li em algum lugar que o uso de "sudo bash" faz o trabalho. Você já tentou isso?
Aprendiz curioso

@CuriousApprentice: O ponto principal era evitar sudo.
User541686 de

0

Aconselho Vivamente a não se dar o GID 0. SUDO não existe para tornar as coisas mais complicadas. O único motivo para criar outra conta root (se o diretório inicial é / root / ou diretório personalizado, por exemplo, / home / root2 /) é que existem dois administradores no sistema que não desejam compartilhar uma senha root.

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

MAS, se você achar que possui um usuário normal seguro (eu pessoalmente uso a senha FORTE com esse método), deixo que meu usuário (ou seja, tatu.staff / uid = 1xxx, gid 50) execute SUDO sem senha. Portanto, nunca misturo o que é apenas para root e o que é para o usuário.

Use as instruções acima para criar um arquivo sudoers (e grupos correspondentes) para fazer com que um usuário específico execute o SUDO sem senha ou veja o exemplo de arquivo que colarei 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 permite que um usuário específico execute SUDO sem senha.

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

todos os usuários na roda de grupo podem executar o sudo sem senha - útil se você deseja dar SUDO ACCESS sem senha a vários usuários, que é o caminho, basta colocar UMA IDEIA MUITO RUIM.

TAMBÉM: - Lembre-se do% charachter antes dos nomes do GRUPO. - Pode-se editar o arquivo / etc / group diretamente, mas NÃO é aconselhável. 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 obtenha arquivos de sudoers válidos - erros de digitação ou declarações incorretas, etc., são coisas muito ruins em um arquivo tão importante, e o visudo salva todos os problemas que você talvez não consiga recuperar sozinho, e aposto que a primeira resposta é a pergunta depois isso é "sempre use visdo. eles não disseram isso a você? oh eles disseram? O que há de errado com você?" ou algo parecido;)

-

Saudações da Finlândia - é bom, inverno bastante agradável aqui, apenas -10 Celsius, não aquelas terrivelmente inferiores às temperaturas de -25 C.

\\ tatu-o


Além disso, se você não deseja escrever comandos longos ou tende a esquecer --flags, os aliseses estão lá para você! Verifique ~ / .bashrc que arquivo de alias está definido, e depois adicionar-lhe aliases para ~ / .bash_aliases
tatu stty
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.