O que sudo significa e faz?

“Alguém pode me dizer o que sudo significa?” Estou aprendendo Linux. Eu pesquisei, mas alguém pode me dar uma comparação do Windows ? Acho que isso vai me ajudar um pouco. Eu sei que su significa trocar de usuário. sudo é ser outro usuário, mas como e por quê? Por que você não pode simplesmente conceder a si mesmo permissões sob seu nome de usuário?

Comentários

  • No Windows, se você não ‘ t tem direitos de administrador, você precisa fornecer o nome e a senha de uma conta que tenha também. Você pode, é claro, conceder a si mesmo permissão com o seu nome de usuário, mas não é inteligente fazer isso, como qualquer programa que sua execução pode então modificar qualquer coisa para a qual você tenha permissão. Esse é um dos motivos pelos quais o Windows não tem sido seguro por tanto tempo.
  • @KnowledgeBeyondMe: O que há com o assunto da pergunta? Por favor, mude para algo significativo.
  • ok, deixe-me ver se entendi isso. Em vez de pessoas com contas de administrador, todos têm o potencial de ser um administrador usando o nome de usuário sudo. No entanto, usando esse nome de usuário sudo, seu as ações serão registradas de volta para você porque são como o inferno da sua conta de nome de usuário real. Se for assim, eu realmente gosto disso. Economiza muito tempo. Você não ‘ não preciso esperar que alguém com privações venha até você para adicionar software e impressoras e outros.

Resposta

sudo permite que você execute um programa como o superusuário root . Usando-o em vez de su,

  1. você não precisa saber a senha do root porque ele pede sua senha,
  2. você sabe explicitamente quais comandos serão executados como root e quais outros serão executados por você. Se você usar su, terá um shell e poderá executar inadvertidamente alguns programas (perigosos) e
  3. todas as suas ações serão registradas no auth.log. Ações em um shell, como uma iniciada por su geralmente não são registradas .

Por que você não pode simplesmente conceder a si mesmo permissões sob seu nome de usuário?

Para razões de segurança, a conta root é raramente usada para fins do dia a dia . Normalmente, todos os usuários, incluindo administradores, usam um usuário “normal” e apenas executam comandos como root quando for necessário. Isso pode evitar (1) acesso não autorizado a arquivos de outros usuários, (2) ações de root não registradas e (3) problemas causados pela execução de programas “perigosos”.

Há é uma analogia na Wikipedia que você pode considerar:

  • Usar uma conta root é como ser um Superman; um administrador regular o usuário é mais parecido com Clark Kent. Clark Kent se torna Superman apenas pelo tempo necessário, a fim de salvar pessoas. Ele então volta ao seu “disfarce”. O acesso root deve ser usado da mesma maneira. O disfarce de Clark Kent realmente não o restringe, já que ele ainda é capaz de usar seus super poderes. Isso é análogo a usar o programa sudo.

Comentários

  • Usar sudo é como ser Pateta até comer um super amendoim que o transforma em Super Pateta. Seus superpoderes acabam após um tempo limite (padrão 15 minutos), após o qual você será solicitado a fornecer um novo amendoim … er, sua senha.
  • ok, deixe-me ver se eu entendi isso. seja um administrador usando o nome de usuário sudo. No entanto, ao usar esse nome de usuário sudo, suas ações serão registradas de volta para você, porque é como o inferno da sua conta de nome de usuário real. Se for assim, eu realmente gosto disso. Economiza muito de tempo. Você não ‘ não precisa esperar que alguém com privações venha até você para adicionar software e impressoras e tal.
  • @KnowledgeBeyondMe Todo mundo tem o potente ial para ser um administrador, mas você ainda precisa estar autorizado sendo listado em /etc/sudoers. Existem algumas outras vantagens do sudo em relação ao su, mas o ponto principal do sudo é que você autentica usando sua própria senha. Senhas compartilhadas são ruins.
  • Você deve autorizar as pessoas, incluindo-as no /etc/sudoers ou usando outras técnicas , para executar sudo. Normalmente, você não autoriza todas as pessoas, apenas os administradores do sistema.

Resposta

Por padrão na maioria dos Unices , a conta de “administrador”, root, deve ser usada com moderação. Existem apenas dois níveis de direitos de administrador ou “superusuário” em um sistema Unix normal: Você tem controle total sobre tudo ou não.

“Controle total” inclui contornar a maioria das verificações de permissão e bagunçar totalmente o sistema com um simples erro de digitação. Como um usuário comum, você pode no máximo excluir seus próprios arquivos apenas.

O utilitário su mais antigo é usado junto com a senha de root para assumir a identidade de root, mas também pode ser usado para assumir a identidade de outros usuários ou para executar comandos únicos como eles, desde que você pertença ao grupo de usuários correto e saiba suas senhas.

su é comumente usado pelo usuário root (em algum sistema Unix) para iniciar daemons (processos de serviço) que precisam ser executados sob identidades de usuário específicas para protegê-los de acessar áreas aos quais eles não devem ter acesso (normalmente servidores web, servidor SSH e semelhantes). Isso pode ser feito em scripts de inicialização enquanto o sistema está inicializando.

su é mais raramente usado interativamente (na linha de comando).

O utilitário sudo requer um pouco mais de configuração, pois permite que um usuário execute comandos como outro usuário usando sua própria senha (o que significa que uma senha de root, por exemplo, não precisa ser compartilhada) e também permite um controle refinado de quem tem permissão para fazer exatamente o quê. Pode-se, por exemplo, dar a um único usuário, ou a um grupo inteiro de usuários, a capacidade de montar um determinado disco, mas não de desmontá-lo ou montar qualquer outro disco, ou de instalar software usando comandos específicos etc. Novamente, o sudo utilitário permite assumir outras identidades de usuário (não apenas root) para sessões interativas, ou para executar comandos únicos (se a configuração foi feita desta forma por alguma outra pessoa com root permissões).

Normalmente, alguém executaria comandos únicos usando sudo (daí o nome “superusuário do”):

$ sudo apt-get install vim 

ou

$ sudo shutdown -ph now 

Usar sudo dessa forma é preferível a sudo -s e trabalhar com um shell raiz interativo, porque os comandos que você executa são registrados. mais tarde, pode-se refazer as ações no arquivo de log para ver onde (e quem) fez algo, seja para depuração ou para auditoria.

Se você se encontrar tipo em um prompt de root interativo por um longo período de tempo, então você deve reconsiderar o que está fazendo e se isso realmente requer privilégios de root.

Por exemplo, a única vez que eu abrir um prompt de root interativo é ao adicionar um usuário comum para mim em uma máquina recém-instalada, ou quando eu realmente tenho alguns problemas sérios que me impedem até mesmo de fazer login como um usuário comum.


O OpenBSD (desde a versão 5.8) tem um utilitário chamado doas que substitui sudo na instalação do sistema padrão. Ele foi desenvolvido quando ficou claro que sudo havia se tornado muito complexo para se adequar aos objetivos definidos pelos desenvolvedores do OpenBSD. Seu uso é semelhante ao de sudo, , mas configurá-lo é mais fácil .

Resposta

Nas versões anteriores do Unix, o cenário mais comum era estar conectado por meio de um terminal sem um sistema de janelas. O comando su (usuário substituto) era uma maneira conveniente de alterar suas permissões atuais sem efetuar logout. Lembre-se de que, sem um sistema de janelas, o logout significava interromper tudo o que você estava executando.

Usar su para se tornar root tem alguns problemas irritantes. Ocasionalmente, as pessoas se esqueciam de sair da sessão e, acidentalmente, executavam comandos como root. Alterar a senha administrativa era complicado pelo fato de que você precisava distribuí-la para todos que precisavam. A maioria dos sistemas não registrava todos os comandos, então era difícil dizer quem tinha feito o quê como root. E assim por diante.

O sudo solucionou esses problemas permitindo que as pessoas executassem um único comando como root. Ele fornece melhor auditoria e controle, sendo um pouco mais conveniente para comandos isolados.

Resposta

ok, deixe-me ver se entendi. Em vez de pessoas com contas de administrador, todos têm o potencial de ser um administrador usando o nome de usuário sudo. No entanto, ao usar esse nome de usuário sudo, suas ações serão registradas de volta para você, porque é um tipo horrível de sua conta de nome de usuário real. Se for assim, eu realmente gosto disso. Isso economiza muito tempo. Você não precisa esperar que alguém com privações venha até você para adicionar software e impressoras e coisas assim.

Comentários

  • sudo é um utilitário, não um nome de usuário. Alguém ainda deve conceder a você o direito de usar sudo. O direito pode ser restrito ao uso de comandos específicos, ou para usar sudo para assumir outras identidades de usuário específicas. sudo pode ser usado para mudar para outras funções além de apenas root.
  • oh, então é como grupos organizacionais do Active Directory? Você tem seu próprio nome de usuário com privilégios, mas se receber permissões, poderá acessar privies de uma organização especializada. Nesse sentido, o ORG seria o utilitário SUDO?
  • Sem saber o que é um ” Active Directory “, Não posso ‘ dizer sim ou não a isso com certeza.
  • Mecanismo de controle para direitos e funções no Windows.
  • Não, sudo não é um grupo ou uma conta de usuário. – No Windows, Active Directory e LDAP, você pode definir grupos de usuários. No Linux, você também pode definir grupos de usuários. Por exemplo, seu linux geralmente tem um grupo admin. Cada usuário pode pertencer a um grupo primário e a vários grupos secundários . – Você pode autorizar sudo a todos os membros de um grupo . Se você marcar /etc/sudoers, os grupos autorizados terão um prefixo %.

Resposta

sudo permite que você execute um programa como um usuário diferente (incluindo root) com base em um conjunto de regras predefinidas e configuráveis.

Ativado uma raiz de sistema Unix / POSIX / Linux é deus. O usuário root também é único.

Em muitos ambientes, há vários administradores que podem exigir acesso root total, mas também pode haver indivíduos que precisam de acesso para realizar alguma função específica geralmente reservada para root; DBAs precisam parar e iniciar serviços de banco de dados, editar arquivos de configuração de banco de dados, administradores de rede precisam configurar dispositivos de rede e rotas, administradores de segurança precisam gerenciar certificados e configurar firewalls.

Ao restringir quais comandos uma pessoa pode executar, o sudo aplica o princípio do menor privilégio – os usuários não obtêm acesso de que não precisam. Mas não se trata apenas de restringir os binários que os usuários executam. Muitas tarefas administrativas são realizadas a partir da linha de comando – e os parâmetros passados para esse comando também podem ser restringidos pelo sudo (ou capturados em um script de shell com acesso fornecido pelo sudo), portanto, é possível restringir os dados / dispositivos que são especializados os administradores podem acessar.

Por que você não pode simplesmente conceder a si mesmo permissões sob seu nome de usuário?

1) isso seria ruim.

  • Muitas vezes tive acesso à conta root em sistemas – mas sempre configurei uma conta nomeada para usar para login e apenas “su” ou “sudo” quando desejo invocar explicitamente meus superpoderes. Além de evitar erros bobos, minha conta nomeada fornece uma caixa de proteção para qualquer componente com comportamento inadequado.

  • e se houver 5 pessoas que precisam do acesso privilegiado, eu concedo para cada um? E cerca de 20? E cerca de 200?

2) isso seria difícil

  • não é o modelo de segurança Unix. Claro, você pode alterar as permissões em alguns executáveis (consulte a nota anterior sobre parâmetros). Mas se você está preocupado com a segurança, aplica patches regularmente – o que pode prejudicar um modelo de permissões personalizadas (sudo OTOH mantém suas permissões independentemente dos próprios comandos).

Comentários

  • ahhh, é por isso que o Linux é um pouco mais difícil de atacar. Menos pessoas com direitos. O invasor teria que encontrar a pessoa certa com os direitos certos. por si só.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *