AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 708115
Accepted
Peter Petigru
Peter Petigru
Asked: 2022-07-01 04:28:16 +0800 CST2022-07-01 04:28:16 +0800 CST 2022-07-01 04:28:16 +0800 CST

Ter senha de root para sudo é considerado uma prática recomendada ou o contrário?

  • 772

Eu configurei o meu sudoerspara que ele peça a senha do root em vez da senha do usuário toda vez que eu uso sudo. Principalmente porque acredito que faz sentido que, se você deseja executar um comando de root, saiba a senha do root.

No entanto, isso pode ser considerado um risco de segurança?

E se não for, por que essa não é a configuração padrão na maioria das distros?

Edit: Estou executando uma máquina Linux pessoal, onde sou o único usuário. A justificativa faz mais sentido neste contexto? Eu acho que isso pode não se aplicar a sistemas multiusuário.

Contexto: Minha experiência com sudosistemas onde sudoera simplesmente um "sinônimo" para su. Pode-se executar qualquer comando root simplesmente digitando sua senha de usuário, o que eu pensei que derrotou o propósito do root para começar. Daí o meu raciocínio para pedir-lhe a senha de root. Tendo dito que eu não sabia do poder de sudoers, alguns usuários mencionaram que você poderia especificar quais comandos podem ser executados sudo(deixando de fora alguns comandos restritos apenas ao usuário root). Isso eu acho que é um ótimo meio termo

sudo root
  • 7 7 respostas
  • 3401 Views

7 respostas

  • Voted
  1. Best Answer
    cas
    2022-07-01T04:45:32+08:002022-07-01T04:45:32+08:00

    Alguns considerariam isso um risco de segurança porque prejudica dois dos principais propósitos de usar sudoem vez de su, que são:

    1. sudotorna mais fácil permitir que os usuários executem alguns, mas não todos, comandos como root, e

    2. Você não precisa fornecer a senha do root . Ter a senha de root é potencialmente muito mais perigoso do que apenas ter permissão para executar certos comandos como root.

    Uma vez que alguém tenha a senha de root, eles podem fazer login como root ou usá-la com su. Também é mais difícil revogar o acesso root de apenas uma pessoa - você precisa alterar a senha do root e informar a todos qual é a nova senha. Com sudoa configuração padrão do , você só precisa alterar o arquivo sudoers e/ou remover o usuário do grupo sudo.

    É por isso que não é a configuração padrão para sudo.

    Eu recomendo fortemente que você volte ao comportamento padrão, pois é quase certamente mais bem pensado do que sua crença de que "faz sentido" que você tenha que saber a senha do root. "senso comum" geralmente não é "comum" nem "sensato".

    sudofoi escrito, pelo menos em parte, para evitar os problemas causados ​​quando todos que precisavam de alguma habilidade para executar algumas tarefas de administrador de sistema de nível de raiz tinham que saber a senha de root. Na prática, isso se mostrou extremamente problemático, especialmente em grandes ambientes como universidades ou corporações, onde as pessoas trocavam muito de função.

    Trabalhei em vários ambientes ao longo dos anos em que as pessoas mudaram para outras funções nas mesmas organizações anos antes (ou até deixaram a organização completamente), mas ainda tinham acesso root em máquinas que nem deveriam ter um login válido sobre. Há também o problema de que as pessoas geralmente ficam chateadas quando você faz a coisa certa e remove o acesso root e/ou desativa contas quando essas coisas não são mais necessárias.

    • 33
  2. bxm
    2022-07-01T04:46:03+08:002022-07-01T04:46:03+08:00

    Considere um cenário hipotético (mas muito plausível): um usuário que possui a senha de root por engano altera a senha para root e não a registra.

    Agora você tem uma situação em que ninguém tem a senha de root e, portanto, ninguém pode se elevar para root. Isso efetivamente quebra sudoa senha de root para todos, exigindo ações corretivas (com tempo de inatividade) para redefinir a senha.

    • 23
  3. dr_
    2022-07-01T05:27:47+08:002022-07-01T05:27:47+08:00

    O mecanismo sudoers tem muitas vantagens em relação a fornecer a senha de root:

    • Permitindo executar um conjunto restrito de comandos como administrador

    • Responsabilidade, pois os comandos executados sudopodem ser registrados para saber quem executou o quê

    • Transferência fácil de direitos de administrador, simplesmente adicionando e removendo usuários do grupo de administradores

    Dar a todos os usuários a senha de root anula completamente o uso de sudoers, já que os usuários não precisarão usar sudo: eles farão login simplesmente como root.


    Edite após a adição do OP:

    Edit: Estou executando uma máquina Linux pessoal, onde sou o único usuário. O racional faz mais sentido nesse contexto? Eu acho que isso pode não se aplicar a sistemas multiusuário.

    Efetivamente, se você é o único usuário no sistema, o acima não se aplica e você pode fazer login como root em vez de executar a sudoqualquer momento que precisar operar como administrador. Tenha cuidado, porém, que sua ação terá mais impacto e será mais fácil danificar o sistema. Para citar um antigo mestre UNIX Zen:

    "Somente através da raiz a verdadeira dor - e, portanto, a iluminação - pode ser alcançada."

    • 7
  4. ilkkachu
    2022-07-01T05:34:35+08:002022-07-01T05:34:35+08:00

    Tentei ver o que os documentos do Ubuntu dizem sobre isso.

    O Guia do Servidor Ubuntu menciona em Gerenciamento de Usuários que

    Os desenvolvedores do Ubuntu tomaram uma decisão consciente de desabilitar a conta root administrativa por padrão em todas as instalações do Ubuntu.

    e

    Em vez disso, os usuários são incentivados a usar uma ferramenta chamada 'sudo' para realizar tarefas administrativas do sistema. [... ]Esta metodologia simples, mas eficaz, fornece responsabilidade por todas as ações do usuário e dá ao administrador controle granular sobre quais ações um usuário pode executar com esses privilégios.

    E continue com as instruções de como habilitar a rootconta, definindo uma senha para ela.

    O Community Help Wiki em help.ubuntu.com, página RootSudo ( arquivado ), menciona facilidade de uso, novos usuários e não fazer login como root o tempo todo no início:

    Lembre-se de que um número substancial de usuários do Ubuntu é novo no Linux. Há uma curva de aprendizado associada a qualquer sistema operacional e muitos novos usuários tentam usar atalhos habilitando a conta root, fazendo login como root e alterando a propriedade dos arquivos do sistema.

    Ambos os documentos, na melhor das hipóteses, ignoram a opção de sudopedir uma senha distinta, mas a página wiki tem uma lista de vantagens e desvantagens do sistema atual, e pelo menos dá uma indicação do que eles podem ter pensado.

    As duas primeiras vantagens listadas são que o instalador tem menos perguntas a fazer e que o usuário só precisa lembrar de uma senha. Ambos são argumentos para a facilidade de uso. O terceiro listado é um argumento contra o login como root e para a etapa extra do sudo, ou seja, pode fazer o usuário parar para pensar mais sobre o que está fazendo:

    1. Evita o login interativo "Eu posso fazer qualquer coisa" por padrão. Você será solicitado a fornecer uma senha antes que grandes alterações possam acontecer, o que deve fazer você pensar nas consequências do que está fazendo.

    Eles também mencionam o que @bxm disse em sua resposta, que ter uma única senha de root (com ou sem sudo) tornaria mais difícil desautorizar usuários e o fato de que sudo registra o que é executado e teoricamente pode ser configurado para ser mais limitado do que permitindo tudo .

    Eu digo "teoricamente", uma vez que, por exemplo, definir regras para parar sudode iniciar um shell está fadado a falhar contra um determinado agressor, pois eles podem, por exemplo, instalar um shell com um nome distinto (contra qualquer lista negra), ou apenas instalar um binário de shell setuid (ignorando o precisa para sudocomeçar). Ambos podem ser feitos com apenas cpe chmod.

    Dado que configurar corretamente listas brancas para sudonão é tão simples, e o fato de que parece haver pouca instrução sobre como fazê-lo, estou adivinhando a parte sobre facilidade de uso, chance de esquecer uma senha de root mais raramente usada , e ter cada senha usada por apenas uma pessoa são os principais motivos.

    (Observe que é tecnicamente possível ter senhas root/sudo distintas para cada usuário, além de suas senhas normais de conta de usuário. Pelo menos uma maneira de fazer isso é criar várias contas UID 0, definir a targetpwopção em sudoerse, em seguida, ter a usuários sudopara sua própria conta root em vez de root. Por exemplo, o usuário normal johnpode ter um usuário root correspondente john_roote, quando necessário, eles executam sudo -u john_root whatever command it was. É claro que você pode fazer o mesmo com apenas suem vez de sudo. A desvantagem disso é que, por motivos Eu nunca entendi, algumas pessoas parecem se opor veementemente a ter várias contas nomeadas com o mesmo UID.)

    • 4
  5. Philippos
    2022-07-01T05:24:15+08:002022-07-01T05:24:15+08:00

    Sua pergunta sugere que você é o único usuário nesse sistema ( eu configurei meus sudoers … toda vez que uso sudo), enquanto as respostas dadas estão visualizando principalmente do ponto de vista multiusuário.

    A razão para a configuração padrão é a ideia original para sudo: Dar acesso restrito de superusuário a determinados usuários.

    Nas distribuições Linux de hoje, a ideia provavelmente é mais parecida com a sua: Acesso fácil a áreas restritas do seu sistema com um pequeno lembrete »por favor, cuidado«.

    Usar a senha de root neste cenário tem uma vantagem principal (se uma senha de root estiver definida):

    Se os direitos do sudo estiverem configurados corretamente, saber sua senha prejudica apenas sua conta, não todo o sistema (possivelmente incluindo seu backup. Você precisa de uma segunda chave para entrar na sala da máquina.

    • 3
  6. ron
    2022-07-01T05:52:41+08:002022-07-01T05:52:41+08:00

    Ter senha de root para sudo é considerado uma prática recomendada?

    não

    os usuários que devem ter permissões de root ou permissões elevadas são colocados no wheelgrupo. Então, apenas esses usuários podem usar o su para fazer o root , ou melhor, usar sudo. O uso surequer a digitação da senha de root, que é a prática ruim e o que você deseja evitar. Usar o sudo especificamente sudo -ié uma maneira muito legal de obter um prompt de root que não requer a digitação da senha de root, o usuário digita sua senha e só funciona se estiver no grupo wheel.

    lá /etc/sudoersestá

    • sudo -irequer que o usuário digite sua senha, e não o root
    ## Allows people in group wheel to run all commands
    %wheel  ALL=(ALL)       ALL
    

    Essa é a configuração padrão, pelo menos no RHEL/CentOS 7.x; é um meio-termo feliz. Primeiro o usuário tem que estar no grupo wheel para usar suou sudo. Não tenho certeza de como impedir corretamente que uma pessoa do grupo wheel use su, mas mesmo usando sudo -ieles ainda podem alterar a senha do root e causar problemas. Portanto, é /etc/sudoerscom o uso visudoque você deseja reconfigurar e desfazer o arquivo ## Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL. Para um sistema linux doméstico, tudo isso é um exagero, mas um ambiente de trabalho com implicações legais e tudo isso é quando se torna significativo.

    Foi mencionado que eu trabalhei em vários ambientes ao longo dos anos onde as pessoas mudaram para outras funções nas mesmas organizações anos antes (ou até mesmo deixaram a organização completamente), mas ainda tinham acesso root em máquinas que não deveriam e ainda ter um login válido. Isso não é culpa sudeles terem conhecido a senha do root, isso é um problema dos administradores e gerenciamento existentes que não fazem a limpeza adequada e alteram a senha do root e excluem / expiram o login do funcionário.

    A armadilha óbvia é que qualquer administrador do grupo wheel pode alterar a senha do root e causar estragos. Para evitar que edite essa linha /etc/sudoersem %wheel ALL=(ALL) ALL, !/usr/bin/passwd root. E também %wheel ALL=(ALL) ALL, !/bin/su root. Eu diria que isso e o uso simples do grupo wheel é o primeiro passo das melhores práticas. Em seguida, edite /etc/sudoerspara restringir as funções administrativas e use mais grupos de administradores além do wheel para obter uma segurança razoável para quem deve ou não poder fazer o quê.

    • 3
  7. number9
    2022-07-01T05:39:52+08:002022-07-01T05:39:52+08:00

    No entanto, isso pode ser considerado um risco de segurança?

    Sim. É sempre uma má ideia distribuir a senha de root.

    Eu adicionaria meus próprios $ 0,01 (a inflação cobrou seu preço)... Eu uso sudo, sem pedir uma senha de root. No entanto , eu defino uma senha de root. Em outras palavras, ao usar o sudo, você usa sua própria senha. Se, no entanto, você estivesse em um console e logado como root, não seria sem senha e não permitiria o login. Tem uma senha definida. Muitos novos usuários não configuram a senha real das raízes e usam exclusivamente o sudo. Isso é bom, até que você caia em um prompt de comando durante um problema do sistema de arquivos na inicialização (por exemplo), e precise digitar a senha de root para manutenção.

    Apenas um pensamento.

    • 2

relate perguntas

  • O 'zfs send' é um comando somente leitura seguro?

  • Diferença entre sudo nautilus e sudo -E nautilus

  • Excluí minha conta root do arquivo /etc/passwd para teste no Centos7.3

  • Execute um único comando como outro usuário; restrições ao sudo

  • Permitir que o usuário execute um comando como root

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve