O que sudo significa e faz?

0

"Alguém pode me dizer o que sudo significa?" Eu estou aprendendo Linux. Eu pesquisei, mas alguém pode me dar uma comparação Windows Eu acho que isso vai me ajudar um pouco. Eu sei que su significa mudar de usuário. sudo está sendo 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?

    
por KnowledgeBeyondMe 02.10.2017 / 04:56

5 respostas

2

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

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

Why can't you just give yourself permissions under your user name?

Por motivos de segurança, a conta root raramente é usada para propósitos do dia a dia . Normalmente, todos os usuários, incluindo administradores, usam um usuário "normal" e só executam comandos como root quando necessário. Isso pode impedir (1) o acesso não autorizado a arquivos de outros usuários, (2) ações raiz não registradas e (3) problemas causados pela execução de programas "perigosos".

Existe uma analogia na Wikipedia que você pode considerar:

  • Usar uma conta root é como ser super-homem; o usuário regular de um administrador é mais parecido com Clark Kent. Clark Kent se torna Superman apenas pelo tempo que for necessário, a fim de salvar as pessoas. Ele então reverte para o seu "disfarce". O acesso raiz deve ser usado da mesma maneira. O disfarce Clark Kent realmente não o restringe, já que ele ainda é capaz de usar seus super poderes. Isso é análogo ao uso do programa sudo.
por 02.10.2017 / 05:31
1

Nas primeiras versões do Unix, o cenário mais comum era o login através 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, sem um sistema de janelas desconectando significava parar o que você estava executando.

Usar su para se tornar root tem alguns problemas irritantes. As pessoas ocasionalmente se esquecem de sair da sessão e acidentalmente executam comandos como root. Alterar a senha administrativa foi complicado pelo fato de que você precisava distribuí-la para todos que precisassem dela. 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 resolveu 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 off.

    
por 02.10.2017 / 05:44
1

ok, então deixe-me ver se eu entendi isso. Em vez de pessoas com contas de administrador, todo mundo tem o potencial de ser um administrador usando o nome de usuário sudo. No entanto, usando esse nome de usuário sudo suas ações serão registradas de volta para você, porque seu tipo como um inferno fora do seu nome de usuário real acct. Se é assim, eu realmente gosto disso. Isso economiza muito tempo. Você não precisa esperar que alguém com particularidade venha até você para adicionar software, impressoras e coisas do tipo.

    
por 02.10.2017 / 16:03
1

Por padrão, na maioria dos Unices, a conta "administrador", raiz, deve ser usada apenas com moderação. Existem apenas dois níveis de direitos de administrador, ou "super usuário", em um sistema Unix normal: você tem controle total de tudo ou não.

"Controle total" inclui contornar a maioria das verificações de permissão e atrapalhar completamente o sistema com uma simples digitação incorreta. Como um usuário comum, você pode excluir apenas seus próprios arquivos.

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

su é comumente usado pelo usuário raiz (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 que deveriam não tem acesso a (normalmente servidores web, servidor SSH e afins). 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 a senha deles (o que significa que uma senha root, por exemplo, não precisa para ser compartilhado), e também permite um controle refinado de quem pode 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 desmontá-lo ou montar outros discos, ou instalar software usando comandos específicos, etc. Osudo utility permite assumir identidades de outros usuários (não apenas root) para sessões interativas, ou para executar comandos únicos (se a configuração foi configurada dessa forma por outra pessoa com permissões de root).

Normalmente, é possível executar comandos únicos usando sudo (daí o nome "superuser do"):

$ sudo apt-get install vim

ou

$ sudo shutdown -ph now

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

Se você estiver digitando em um prompt interativo 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.

Como exemplo, a única vez que I exibe um prompt de raiz interativo é quando adiciono um usuário comum para mim mesmo em uma máquina recém-instalada ou quando realmente tenho alguns problemas sérios que me impedem até de fazer login como um usuário comum.

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

    
por 02.10.2017 / 16:24
0
O

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

Em uma raiz do sistema Unix / POSIX / Linux é deus. O usuário root também é singular.

Em muitos ambientes, há vários administradores que podem exigir acesso root completo, mas também pode haver indivíduos que precisam de acesso para executar algumas funções específicas, geralmente reservadas para o root; Os DBAs precisam parar e iniciar serviços DB, editar configurações 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 os comandos que 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 é apenas restringir os binários que os usuários executam. Muitas tarefas de administração são executadas a partir da linha de comando - e os parâmetros passados para esse comando também podem ser restringidos pelo sudo (ou capturado em um shell script com acesso fornecido pelo sudo), portanto é possível restringir os dados / dispositivos que eles os administradores podem acessar.

Why can't you just give yourself permissions under your user name?

1) isso seria ruim.

  • Muitas vezes tive acesso à conta root em sistemas - mas sempre configurei uma conta nomeada para usar no login, e apenas 'su' ou 'sudo' quando eu quero explodir meus super poderes. Além de evitar erros bobos, minha conta nomeada fornece uma caixa de proteção para todos os componentes que não se comportam bem.

  • e se houver 5 pessoas que precisam do acesso privilegiado, concedo a todas e cada uma delas? O que sobre 20? que tal 200?

2) isso seria difícil

  • não é o modelo de segurança do Unix. Claro que você poderia alterar as permissões em alguns executáveis (veja nota anterior sobre parâmetros). Mas se você for consciente da segurança, aplique patches regularmente - o que pode minar um modelo de permissões personalizado (o sudo OTOH mantém suas permissões independentemente dos comandos em si).
por 02.10.2017 / 17:01

Tags