Diferença entre Su e Sudo e como configurar o sudo no Linux

Diferença entre Su e Sudo e como configurar o sudo no Linux

Sistema Linux está muito seguro do que qualquer um de seus equivalentes. Uma das maneiras de implementar a segurança no Linux é a política de gerenciamento de usuários e a permissão do usuário e os usuários normais não estão autorizados a executar quaisquer operações do sistema.

Se um usuário normal precisar executar quaisquer alterações amplas do sistema que ele precisa usar 'su' ou 'sudoComando.

Linux: Su V/S sudo

OBSERVAÇÃO - Este artigo é mais aplicável a Ubuntu distribuições baseadas, mas também aplicável à maioria dos populares Linux distribuições.

'su' vs 'sudo'

'su'força você a compartilhar seu senha raiz Para outros usuários, enquanto 'sudo'torna possível executar comandos do sistema sem raiz senha. 'sudo'Permite usar sua própria senha para executar comandos do sistema i.e., delega a responsabilidade do sistema sem raiz senha.

O que é 'sudo'?

'sudo'É um binário raiz setuid, que executa os comandos root em nome de usuários autorizados e os usuários precisam inserir sua própria senha para executar o comando do sistema seguido por 'sudo'.

Quem pode executar 'sudo'?

Nós podemos correr '/usr/sbin/visudo'Para adicionar/remover a lista de usuários que podem executar'sudo'.

$ sudo/usr/sbin/visudo

Uma captura de tela de '/usr/sbin/visudo'Arquivo, parece algo assim:

O sudo Lista parece a string abaixo, por padrão:

raiz tudo = (tudo) tudo

Observação: Você deve ser raiz editar /usr/sbin/visudo arquivo.

Concedendo acesso a sudo

Em muitas situações, Administrador do sistema, Especialmente novo no campo encontra a string “raiz tudo = (tudo) tudo”Como modelo e concede acesso irrestrito a outras pessoas que podem ser potencialmente muito prejudiciais.

Edição/usr/sbin/visudo ' Arquivo para algo como o padrão abaixo pode ser realmente muito perigoso, a menos que você acredite em todos os usuários listados completamente.

root all = (todos) todos adam all = (todos) todos os Tom todos = (todos) todos marcam todos = (todos) todos

Parâmetros de Sudo

Um configurado corretamente 'sudo'É muito flexível e o número de comandos que precisa ser executado pode ser configurado com precisão.

A sintaxe de configurada 'sudo'A linha é:

Comando user_name Machine_Name = (eficaz)

A sintaxe acima pode ser dividida em quatro partes:

  1. Nome de usuário: Este é o nome de 'sudo' do utilizador.
  2. Nome da maquina: Este é o nome do host, no qual 'sudo'O comando é válido. Útil quando você tem muitas máquinas host.
  3. (Eficaz_user): O 'usuário eficaz' que pode executar os comandos. Esta coluna permite que você permite que os usuários executem comandos do sistema.
  4. Comando: comando ou um conjunto de comandos que o usuário pode executar.

Leia sugerida: 10 configurações úteis de sudoers para definir 'sudo' no Linux

Algumas das situações e suas correspondentes 'sudo' linha:

Q1. Você tem um usuário marca que é um administrador de banco de dados. Você deve fornecer a ele todo o acesso no servidor de banco de dados (beta.servidor de banco de dados.com) apenas, e não em nenhum host.

Para a situação acima 'sudo'A linha pode ser escrita como:

Mark Beta.servidor de banco de dados.com = (todos) todos

Q2. Você tem um usuário 'Tom'que deve executar o comando do sistema como usuário que não seja root no mesmo servidor de banco de dados, acima explicado.

Para a situação acima 'sudo'A linha pode ser escrita como:

Mark Beta.servidor de banco de dados.com = (tom) tudo

Q3. Você tem um usuário sudo 'gato'que deveria executar o comando'cachorro' apenas.

Para implementar a situação acima, podemos escrever 'sudo' como:

Mark Beta.servidor de banco de dados.com = (gato) cachorro

Q4. E se o usuário precisar receber vários comandos?

Se o número de comandos, o usuário deve ser executado 10, Podemos colocar todos os comandos ao lado, com o espaço branco entre eles, como mostrado abaixo:

Mark Beta.servidor de banco de dados.com = (gato)/usr/bin/command1/usr/sbin/command2/usr/sbin/command3… 

Se esta lista de comando varia para o intervalo, onde literalmente não é possível digitar cada comando manualmente, precisamos usar apelido. Apelido! Sim, o utilitário Linux, onde um comando de longa data ou uma lista de comando pode ser referida como uma palavra-chave pequena e fácil.

Um pouco alias Exemplos, que podem ser usados ​​no lugar de entrada em 'sudo' arquivo de configuração.

Administradores user_alias = Tom, Jerry, Adam User_alias Webmaster = Henry, Mark
Webmasters webservers = (www) apache cmnd_alias proc =/bin/kill,/bin/killall,/usr/bin/top

É possível especificar um Grupos de sistemas, No lugar dos usuários, isso pertence a esse grupo apenas sufixo '%' como abaixo:

%Apacheadmin WebServers = (www) Apache

Q5. Que tal executar um 'sudo'Comando sem inserir a senha?

Podemos executar um 'sudo'Comando sem inserir a senha usando'NoPasswd' bandeira.

Adam all = (All) NoPasswd: Procs

Aqui o usuário 'Adão'Pode executar todos os comandos Aliases sob "Procs”, Sem inserir a senha.

Leia sugerida: Deixe sudo insultar você quando você inserir senha incorreta

““sudo”Fornece um ambiente robusto e seguro, com muita flexibilidade em comparação com 'su'. Além disso "sudo”A configuração é fácil. Algumas distribuições Linux têm “sudo”Ativado por padrão, enquanto a maioria das distribuições de hoje precisa de você para habilitá -lo como um Medida de segurança.

Para adicionar um usuário (bob) ao sudo, basta executar o comando abaixo como root.

Adduser Bob Sudo 

É tudo por agora. Estarei aqui novamente com outro artigo interessante. Até então, fique atento e conectado ao Tecmint. Não se esqueça de nos fornecer seu valioso feedback em nossa seção de comentários.