Por que é chamado sudo?

28

Por que usamos sudo para executar um comando de terminal como administrativo? Por que não é admin ou alguma outra coisa? Existe uma razão para sudo ?

    
por Mohammad 26.05.2014 / 03:46

8 respostas

31

De Wikipédia :

  

sudo é um programa para Unix-like   sistemas operacionais que permitem aos usuários executar programas com o   privilégios de segurança de outro usuário (normalmente o superusuário, ou   raiz). Seu nome é uma concatenação de "su" (usuário substituto) e   "fazer" ou agir.

     

Ao contrário do comando su, os usuários normalmente fornecem sua própria senha para   sudo em vez da senha de root. Após a autenticação, e se o   / usr / local / etc / sudoers (às vezes encontrado em / etc / sudoers)   arquivo permite o acesso do usuário, o sistema invocará o   comando solicitado. O arquivo de configuração do sudo permite um enorme   quantidade de configurabilidade, incluindo, mas não se limitando a: ativação do root   comandos apenas do terminal de chamada; não requerendo uma senha para   certos comandos; requerendo uma senha por usuário ou grupo; exigindo   reentrada de uma senha toda vez ou nunca exigindo senha alguma   para uma linha de comando específica. Também pode ser configurado para permitir   passando argumentos ou múltiplos comandos, e até suporta comandos   com expressões regulares.

É um comando temporário de uso único com privilégios de superusuário (administrador) sem login direto na raiz.

    
por Virusboy 26.05.2014 / 03:59
20

Antes do sudo , a maioria dos administradores fazia login como usuário root, pois é uma maneira fácil de configurar o sistema, pois você tem todos os direitos. No entanto, um pequeno erro ou um link errado com a Internet e todo o seu sistema podem ser afetados ou até mesmo comprometidos.

Devido a este problema, o sudo apareceu . O objetivo era usar privilégios administrativos apenas por um curto período de tempo e somente quando necessário. Além disso, isso evitaria que o usuário fizesse login em outra conta. Isso obviamente aumentaria a segurança do sistema .

Em Ubuntu , eles escolhem melhorar a segurança do seu sistema. Assim, eles decidiram seguir o caminho do 'sudo'. O usuário root está desativado; não há necessidade disso e, especialmente, não há risco de um usuário fazer login via interface X com o usuário root. Além disso, eles permitiram que todos os comandos sejam lançados com o sudo para usuários autorizados. O legal é que usuários avançados podem acessar a conta root.

Desvantagens de sudo :

  • Quais comandos você permite via sudo
  • Você precisa escrever sudo antes de cada comando exigir privilégio administrativo
  • De vez em quando, você precisa redigitar a senha .

O que significa sudo ? Seu nome é uma concatenação de "su" (usuário substituto) e "do".

Por que sudo não admin ? Acho que sudo significa admin para um período específico e somente quando você precisar.

As pessoas que estão vindo do ambiente Windows devem entender por que não é admin :)

Referências: Site
Imagem: xkcd

    
por nux 26.05.2014 / 18:43
10

Do Linux.com, um produto da Linux Foundation:

  

Sudo significa " usuário substituto do " ou " super usuário do " (dependendo de como você deseja examiná-lo). O que o sudo faz é incrivelmente importante e crucial para muitas distribuições Linux. Efetivamente, o sudo permite que um usuário execute um programa como outro usuário (na maioria das vezes o usuário root).

[ênfase minha] Fonte

    
por Cerran 26.05.2014 / 11:06
3

superusuário do

Há um comando, su, para se tornar o superusuário, então você pode dizer

$ su
# apt-get install somehorror
# exit
$

sudo permite que você faça isso de uma só vez, e você não precisa se lembrar de renunciar aos seus poderes mágicos.

$ sudo apt-get install somehorror
    
por John Lawrence Aspden 26.05.2014 / 14:25
3

Com relação a por que não é "admin" - ou mais indiretamente, porque su não é "switchUser" ou algo assim - Comandos Unix tradicionais tendem a ser abreviações mínimas por razões históricas relacionadas às origens do Unix.

Pela razão mais básica, precisamos voltar ao mesmo motivo pelo qual ele é chamado de Unix. Grande parte do Unix foi inspirada por um dos primeiros sistemas operacionais multitarefa multiusuários, o Multics, do MIT. (O Unix recebe seu nome como "o singular das Multics" ou "Multics castradas", dependendo de quem você pergunta e do humor deles no momento).

Entre as outras inovações da Multics, ela introduziu o conceito de separar a localização real do arquivo das informações do diretório, permitindo que um único arquivo tivesse vários nomes. ("Links", em termos Unix.) As Multics aproveitaram (demais) disso; a maioria dos comandos Multics possui ambos ALongNameThatIsImpossibleToType e ASNTOECR (um nome abreviado que somente os especialistas podem lembrar). A experiência mostrou que os nomes longos realmente não adicionavam muita facilidade ao usuário, pois, realisticamente, naquela época todos os usuários eram ou rapidamente se tornavam "especialistas" e quase ninguém usava os nomes longos. Quando o Unix adotou alguns dos designs da Multics, uma de suas simplificações era descartar os nomes longos não utilizados e manter apenas os nomes curtos de especialistas.

Isso também se encaixa bem com a filosofia Unix de reduzir o sistema operacional e seu conjunto de comandos básicos aos seus fundamentos, permitindo que ele funcione eficientemente em sistemas menores. Naquela época, os programadores ainda conservavam todos os bytes e ciclos possíveis. Os processadores eram tremendamente mais lentos, as velocidades terminais eram tremendamente mais lentas e a memória era tremendamente mais cara (e mais lenta, e tinha caches minúsculas, se houvesse). Manter os comandos do sistema em um tamanho mínimo pode não ter economizado muito (se houver) recursos reais, mas "pareceu certo" para a mentalidade da época.

Se você realmente insistir em nomes de comandos fáceis de usar, a resposta do Unix seria "Você sabe como escrever um script de shell; implemente-o você mesmo. Se você não sabe como escrever um script de shell, precisa aprender Se você não gosta de aprender e / ou codificar, você não vai ficar feliz com o Unix e deve usar outra coisa. "

    
por keshlam 27.05.2014 / 01:39
3

Se " superusuário " é de qual su originalmente derivado, é impreciso já que o nome de usuário que você atribuiu não precisa ser um superusuário. Idem para executar comandos como outro usuário usando sudo -u .

" Usuário substituto " é mais preciso, mas soa desajeitado. Isso me faz pensar em um professor substituto.

Portanto, prefiro pensar em su como simplesmente "alternar usuário" e sudo como "alternar entre usuário e usuário".

    
por otus 26.05.2014 / 18:27
1

No site do Sudo :

"O que é o Sudo?

Sudo (su "do") permite que um administrador de sistema delega autoridade para dar a certos usuários (ou grupos de usuários) a capacidade de executar alguns (ou todos) comandos como root ou outro usuário enquanto fornece uma trilha de auditoria dos comandos e seus argumentos. "

"O Sudo foi inicialmente concebido e implementado por Bob Coggeshall e Cliff Spencer por volta de 1980 no Departamento de Ciência da Computação da SUNY / Buffalo. Ele rodou em um VAX-11/750 rodando o 4.1BSD. Uma versão atualizada, creditada a Phil Betchel , Cliff Spencer, Gretchen Phillips, John LoVerso e Don Gworek, foram postados no grupo de notícias net.sources Usenet em dezembro de 1985. "

Dito isso, embora eu não acredite que exista alguma prova, sempre acreditei que o nome era uma espécie de piada de programador nerd. Você tem o comando "su" (super usuário) "fazer", mas você não é realmente um super usuário - transformar o "doo" em um "doh" e "sudo" parece / soa muito como "pseudo" (falso , sham).

    
por Anaksunaman 27.05.2014 / 01:28
-2

A maioria das pessoas deu a resposta de que é um mashup de "super usuário". Eu gosto disso, mas pode ser mais correto dizer que é um mashup de "usuário substituto do" porque você pode escolher o usuário que "faz" com o sinalizador -u.

Eu também penso nisso como uma brincadeira com a palavra psuedonym porque você pode fingir ser outra pessoa, seja root ou qualquer outro usuário usando o sinalizador -u.

    
por three-cups 27.05.2014 / 16:57