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 / server / Perguntas / 1136474
Accepted
George Y
George Y
Asked: 2023-07-10 17:21:45 +0800 CST2023-07-10 17:21:45 +0800 CST 2023-07-10 17:21:45 +0800 CST

O 'sudoer' é obrigatório para o comando 'ip'? De qualquer forma, para contornar isso?

  • 772

Recentemente, me deparei com um cenário de alta disponibilidade em que o programa de manutenção precisa vincular um IP virtual ao servidor em que ele se encontra e, em seguida, transmiti-lo pela rede. Para fazer isso, ele executa ipe arpcomanda, respectivamente. No entanto, notei que qualquer programa de manutenção precisa sudoerde privilégio para executar ipou arp. Não dou o mesmo rootprivilégio a ele, mas quero que ele ainda seja capaz de executar esses dois comandos. Então, há uma solução? Desde já, obrigado.

linux
  • 3 3 respostas
  • 62 Views

3 respostas

  • Voted
  1. Best Answer
    HBruijn
    2023-07-10T19:38:20+08:002023-07-10T19:38:20+08:00

    O cenário HA requer o failover de um endereço IP (virtual) e o envio de solicitações arp gratuitas para garantir que a LAN saiba que ocorreu um failover IP.

    Fazer alterações em uma pilha de IP do sistema e enviar solicitações arp gratuitas requer acesso privilegiado/nível raiz.

    Quando as ferramentas que fazem essas alterações já são executadas como root, é claro que já existe acesso privilegiado suficiente.

    Quando o conjunto de ferramentas não é executado como root, é necessário um método para conceder esse acesso privilegiado. Uma política sudoers é um método que pode conceder privilégios refinados.

    Editar: A resposta de @symcbean me fez perceber: como muitos exemplos concedem apenas privilégios irrestritos e ilimitados, você pode não estar ciente de que sudoé explicitamente projetado para conceder privilégios restritos . O exemplo a seguir concede ao usuário george apenas os direitos para executar esses três comandos (com argumentos) por meio sudode direitos de root

    # in /etc/sudoers or as a drop-in file /etc/sudoers.d/file-name
    # List of privileged commands
    Cmnd_Alias IPFAILOVER = /usr/sbin/ip, /usr/sbin/arp, /usr/sbin/arping
     
    # allow george to run the above commands as root without having to authenticate with a password 
    george        ALL=(root)       NOPASSWD: IPFAILOVER
    

    Uma alternativa é, por exemplo, definir permissões de root set-uid nesses comandos, mas isso permite que todos e quaisquer usuários enviem solicitações arp gratuitas e modifiquem os caches ARP de sistemas vizinhos e/ou modifiquem a pilha IP dos sistemas. Isso é provavelmente menos desejável.

    • 2
  2. symcbean
    2023-07-10T19:51:48+08:002023-07-10T19:51:48+08:00

    Isso é principalmente um comentário (mas não há espaço suficiente na caixa de comentários).

    Existe uma solução para executar um comando que requer privilégios elevados sem elevar privilégios? - Não

    "Eu não dou esse tipo de privilégio root" - Se você tivesse explicado suas reservas, poderíamos sugerir uma alternativa ou dissipar suas preocupações, por exemplo

    maintenance ALL=(root) NOPASSWD: /usr/local/bin/your_provisioning_script
    

    permite que o usuário de 'manutenção' SOMENTE execute o script nomeado como root.

    Mas estou lutando para imaginar um cenário em que um serviço para implementar alta disponibilidade exigiria uma inicialização manual. A execução como um serviço também oferece benefícios para garantir que o serviço continue em execução - então, por que não apenas provisioná-lo dessa maneira como o usuário root? Infelizmente, DROPPING privilégios de root requer ferramentas adicionais . Portanto, pode fazer mais sentido executar o serviço como um usuário não privilegiado com regras sudo para operações privilegiadas.

    O Linux também possui um sistema de gerenciamento de privilégios descrito como capacidades - mas conceder capacidades para resolver este problema pode minar seu objetivo indefinido implícito por não usar a conta root.

    • 2
  3. догонят
    2023-07-13T16:02:27+08:002023-07-13T16:02:27+08:00

    Você pode permitir que um usuário execute comandos específicos e nada mais por meio do sudo como qualquer usuário (como a coisa "executar como" no Windows). Não há obrigação de fornecer acesso root completo, o sudo pode ser muito granular.

    Leia o manual para sudoers.

    Para o cenário HA, essa é mais ou menos a descrição do VRRP

    • 0

relate perguntas

  • Como descobrir detalhes sobre hardware na máquina Linux?

Sidebar

Stats

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

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 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