Eu instalei o Ubuntu no meu PC. Para fazer login, eu uso o nome de usuário e a senha que criei durante a instalação. Isso significa que eu sou um usuário root? Se sim, então como me torno não-root? Parece que o usuário não raiz é mais seguro que o usuário administrador.
sudo
root
users
privileges
administrator
Primeiro nome, ultimo nome
fonte
fonte
sudo
. De maneira mais geral, um administrador (ou usuário autorizado de outra forma) X pode executarcommand...
como Y comsudo -u Y command...
. No Windows Vista e versões posteriores, com o UAC ativado , os usuários com poderes administrativos executam programas sem eles , exceto quando explicitamente autorizam um programa a herdar suas habilidades. Executar como administrador aparece quando o UAC está ativado (ou para usuários limitados).Respostas:
Você é um administrador, mas não
root
. Oroot
usuário pode fazer qualquer coisa. Os administradores podem executar ações comoroot
, mas normalmente o que os administradores fazem não é feitoroot
. Dessa forma, você tem controle total sobre seu próprio sistema, mas somente quando você escolhe usá-lo.O Ubuntu pede sua senha quando você tenta fazer coisas como
root
, para se certificar de que é realmente você.Contas de usuário: humanas e caso contrário
Usuários humanos reais têm contas de usuário para representá-los. Você criou uma dessas contas quando instalou o Ubuntu. Mas nem todas as contas de usuário representam usuários humanos reais .
Usuários humanos reais recebem habilidades (e negadas) por meio de suas contas de usuário. Eles devem usar suas contas de usuário para usar o sistema; portanto, as habilidades e limitações de suas contas de usuário se aplicam a eles.
As contas de usuário também são usadas para codificar conjuntos de habilidades e limitações. Algumas contas de usuário - a maioria, na verdade, a menos que você tenha muitos usuários humanos da máquina - existem para que determinados programas ou comandos possam ser executados com sua identidade, uma identidade com as habilidades e limitações corretas para o trabalho.
Por exemplo, o
www-data
usuário existe para que, se você executar um servidor da Web, ele possua os dados que o servidor tornar acessível. Nenhum usuário humano real precisa ter poderes para fazer alterações não verificadas nesses dados, e o servidor da web não precisa ter a capacidade de executar nenhuma ação desnecessária para servir a web. Consequentemente, os dados da web e o resto do sistema são mais seguros contra falhas acidentais ou intencionais, do que se o servidor da web fosse executado por algum usuário humano que tivesse todos os poderes do servidor da web (e cujos poderes o servidor da web teria) possuir).A conta de usuário não humano mais importante
O superusuário , cujo nome de usuário é
root
, é uma conta de usuário não humano com uma combinação muito específica de habilidades e limitações: todas as habilidades e sem limitações .root
tem permissão para fazer qualquer coisa. Ainda há coisasroot
que não podem ser feitas porque o próprio sistema não pode executar ou fazer sentido delas. Portanto,root
não é possível matar um processo que esteja em sono ininterrupto , ou fazer uma pedra pesada demais para se mover, depois mova-a .Muitos processos importantes do sistema, como
init
, são executados comoroot
eroot
são usados para executar tarefas administrativas.Posso fazer login como
root
?É possível configurar a
root
conta para que seja possível fazer login com uma senha, mas isso não é ativado por padrão no Ubuntu. Em vez disso, você pode pensarroot
como sendo comowww-data
,lp
,nobody
e outras contas não-humanos. (Corracat /etc/passwd
ougetent passwd
veja todos.)Usuários humanos efetuam login com suas próprias contas de usuário e, se alguma tarefa deve ser executada com outra conta de usuário, eles fazem com que essa tarefa seja executada com essa identidade , sem realmente ter efetuado login como esse usuário.
É possível configurar outros usuários não humanos, como
www-data
, para que você possa fazer login como eles também. Isso é bastante raro, embora em alguns outros sistemas operacionais semelhantes ao Unix seja comum fazer login comoroot
em um terminal . Os riscos de executar uma interface gráfica inteiraroot
, combinados com quantos programas gráficos não foram projetados para serem executadosroot
e podem não funcionar corretamente, significa que você nunca deve tentar obter uma sessão de árearoot
de trabalho própria .Observe que, enquanto o login
root
é desabilitado por padrão no Ubuntu, existem maneiras de obter umroot
shell sem se autenticar comoroot
, o que produz um efeito semelhante: os mais comuns sãosudo -s
or-i
, modo de recuperação e técnicas semelhantes . (Não se preocupe se você não sabe o que são essas coisas.) Na verdade, isso não é o login: no modo de recuperação, você se tornaroot
antes de qualquer logon; com ossudo
métodos baseados em, você está apenas executando um shell como root.Administradores
No Ubuntu, os administradores são os usuários que podem fazer o que quiserem, como
root
, quando eles optam por fazê-lo .Configurações do sistema> Contas de usuário. "Eliah Kagan" é um administrador, então ele pode fazer coisas como
root
, mas não éroot
.Eu sou um administrador no meu sistema Ubuntu. Quando executo programas, normalmente eles são executados como
ek
("Eliah Kagan" é o nome completo que corresponde aoek
nome de usuário.)Quando executo o AbiWord ou o LibreOffice, ele é executado como
ek
. Quando executo o Firefox, Chromium, Empathy ou Pidgin, ele é executado comoek
. Os programas executados para fornecer a interface da área de trabalho são executados comoek
.No entanto, sou um administrador, portanto, se precisar executar uma tarefa administrativa, posso fazê-lo.
sudo
Na linha de comando, eu usaria normalmente
sudo
para executar um comando comoroot
:Isso solicitará minha senha. (Não
root
é a senha;root
não possui uma.)root
. Na configuração padrão, devo inserir minha senha para fazer isso.root
, mesmo colocando sua senha.sudo
Os comandos falharão se o usuário que os executa não for um administrador.Como os administradores são usuários perfeitamente comuns, exceto pela capacidade de executar ações como
root
, a execução de um comando que requerroot
privilégios ainda falhará, exceto quando o comando for executado comoroot
.Captura de tela ilustrando a necessidade de usar
sudo
para executar tarefas administrativas. (Baseado no "Sandwich" de Randall Munroe .)sudo, Graficamente
Os programas gráficos podem ser executados
root
através de interfaces gráficas parasudo
, comogksu
/gksudo
ekdesudo
. Por exemplo, para executar o GParted comoroot
eu poderia executargksudo gparted
. Em seguida, seria solicitada graficamente minha senha.Desde que eu sou solicitado graficamente, não precisa haver um terminal. Essa é uma das maneiras pelas quais as ferramentas administrativas são executadas
root
.Polkit
O Polkit (antes conhecido como PolicyKit) é outra maneira de os administradores fazerem as coisas como
root
. Um programa acessa um serviço que executa a ação. Às vezes, a ação está executando um programa inteiro; às vezes a ação é mais limitada.Atualmente, muitos utilitários gráficos de administração do sistema são configurados para usar o polkit por padrão, em vez de usá-lo
sudo
.Um exemplo desse utilitário é o Centro de Software. Ele tira o máximo proveito do polkit, exigindo que o usuário digite sua senha apenas quando quiser fazer algo que exija
root
privilégios. (Isso também é possível comsudo
autenticação baseada em mas é mais difícil e mais feio de se realizar).No Centro de Software, posso encontrar e ler sobre um aplicativo; então me pedem minha senha quando quero instalá-la.
Como o polkit é diferente
Qualquer programa gráfico pode ser executado como
root
comgksudo
e outrossudo
frontends gráficos . (O programa pode não funcionar muito bem, dependendo de ter sido projetado ou não para ser usado comoroot
. Mas o comando para iniciar o programa será executado comoroot
.)Embora o polkit seja agora mais comum do que as
sudo
interfaces gráficas da GUI, como a maneira como os aplicativos no Ubuntu executam açõesroot
nos bastidores, o polki executará apenas um aplicativo gráfico comoroot
se houvesse um arquivo de configuração que permitisse e indicando quais ações podem ser executadas .Polkit, não graficamente
pkexec
é o comando usado para executar um programa com polkit.Como
sudo
,pkexec
pode executar comandos não gráficos. (E não requer um arquivo de configuração que defina os recursos do comando - ele simplesmente executa o comando comoroot
.)pkexec
solicita uma senha graficamente, mesmo que seja executada a partir de um terminal (essa é uma das maneiras pelas quais seu comportamento é mais parecido com ogksudo
de executar diretamentesudo
).(Se não houver GUI - por exemplo, se você estiver conectado a partir de um console virtual ou de uma sessão SSH somente de texto ou a GUI não estiver funcionando corretamente -,
pkexec
será degradado normalmente e solicitará sua senha na linha de comando .)Depois que a autenticação é realizada com sucesso, o comando é executado no terminal.
Executando comandos como outros usuários além
root
root
é especial porque consegue fazer tudo o que pode ser feito. Mas é uma conta de usuário como qualquer conta, e as maneiras de executar comandos comoroot
comsudo
(diretamente ou com uma interface gráfica) ou polkit pode ser ligeiramente modificado para executar um comando como qualquer outro usuário:O que? Você acabou de digitar
sudo
primeiro? Como é essa segurança ?!Executar comandos com
sudo
é como invocar a infalibilidade papal .Quando você executa um comando com
sudo
[invocar infalibilidade papal] , o Ubuntu [pessoal católico] se esforça para se certificar de que você é realmente você [realmente o papa].Sim, eu sei que a infalibilidade papal (mesmo quando normativa) é declarativa; o paralelo não é perfeito.
Tentar fazer algo como
root
comsudo
(ou polkit) é importante - o Ubuntu não vai deixar isso passar como todas as outras vezes que você executa um programa.Você será solicitado a fornecer sua senha. (Então, o que você fez é lembrado por um curto período de tempo, para que não precise digitar sua senha constantemente enquanto administra o sistema.)
Além de lembrá-lo de ter cuidado , isso protege contra dois cenários:
root
(o que inclui qualquer coisa instalada pelo gerenciador de pacotes, como o LibreOffice) ou alterar o sistema em um nível profundo.Eu já ouvi falar
su
. O que é isso? Posso usar isso?su
autentica como outro usuário e executa um comando (ou inicia um shell interativo). É possível limitar quem tem permissão para usarsu
, mas sesu
autentica com a senha da conta de destino , não a senha do usuário em execução.Por exemplo, é executado como nome de usuário , assim como .
su username -c 'command...'
command...
sudo -u username command...
Mas quando você executar um comando como
username
comsudo
, você entra em sua senha . Quando você executar um comando comousername
comsu
, você entrausername
a senha .Como
su
realiza a autenticação para o usuário de destino ,su
você só pode executar comandos como usuários cujas contas estão ativadas .A
root
conta (comowww-data
enobody
) está desativada por padrão. Não há senha que funcione para fazer login comoroot
. Portanto, você não pode usarsu
para executar comandos comoroot
.Você pode usar
su
para executar comandos como outro usuário que pode efetuar login (o que normalmente inclui todas as contas de usuário em seu sistema que representam seres humanos).Quando conectado como convidado, você não pode usá
su
-lo.Combinando
su
esudo
Alguém que não é administrador pode até usar
su
para executarsudo
como administrador. (Isso é bom, porém, pois eles precisam da senha do administrador para executar comandos como administrador.) Ou seja, um usuário limitado pode usarsu
para executarsudo
para executar um comando comoroot
. Isso pode se parecer com:(A execução de programas gráficos dessa maneira requer cuidados especiais .)
Não
su
seria uma maneira mais segura de executar comandosroot
?Provavelmente não.
E se um usuário não puder agir como
root
?Torne-os um usuário limitado em vez de um administrador.
E se um programa em execução como um tentativas de administrador para
sudo
aroot
?A menos que você tenha reconfigurado
sudo
para permitir que ele seja bem-sucedido sem uma senha, ela falhará.Não é possível executar um programa que não deva ser executado
root
em umsudo
comando recente , portanto nenhuma senha é necessária?É muito improvável que isso tenha sucesso. Atualmente, a maioria dos sistemas operacionais (incluindo o Ubuntu) é
sudo
configurada por padrão, de modo que seus carimbos de data e hora se aplicam apenas a um contexto específico.Por exemplo, se eu executar
sudo ...
em uma guia Terminal e me autenticar com êxito,sudo
em outra guia (ou executada por um programa GUI não relacionado ou que eu execute em um console virtual ou sessão SSH) ainda solicitará uma senha. Mesmo que seja executado imediatamente depois.Um programa em execução como usuário X não tem acesso à senha do usuário X?
Não.
Se um programa mal-intencionado puder ser executado como administrador, ele não pode "escutar" o que está sendo digitado quando o administrador se autentica com
sudo
ou polkit?Potencialmente, sim. Mas poderia "escutar" uma senha digitada
su
.Se eu contar a alguém minha senha—
Não diga às pessoas sua senha.
E se alguém tiver que saber minha senha para fazer algo em meu nome, mas eu não quero permitir que eles administrem o sistema?
Idealmente, eles devem ter uma conta de usuário separada que permita que eles façam o que precisam. Por exemplo, pode compartilhar arquivos entre contas, permitindo que vários usuários gravem nelas, enquanto ainda nega o acesso a outros usuários.
No entanto, em uma situação em que uma pessoa menos confiável possa compartilhar sua conta, ela deve ser uma conta de usuário limitada. Você pode criar uma conta separada para esse fim (o que faz sentido - se for uma conta para você e outra pessoa que você deseja ter recursos diferentes, deve ser uma conta diferente).
Então, seria a coisa mais segura a de não permitir ambos
sudo
esu
e log fazer as pessoas em comoroot
, manualmente?Não, porque há sérias desvantagens associadas ao permitir que as pessoas efetuem login como de
root
todo. Sempre que possível, o menor número de ações possível deve ser realizado comoroot
. Mesmo a maioria dos atos relacionados diretamente à administração de um sistema (por exemplo, ver quais usuários estão configurados e ler logs) geralmente não exigeroot
privilégios.Além disso, assim como potencialmente um programa malicioso poderia assistir quais os tipos alguém quando executar
sudo
ousu
, ou criar um falsosudo
/su
senha rápida, potencialmente um programa malicioso poderia criar uma tela falsa de login também.O que torna um usuário um administrador?
Participação em grupo.
No Ubuntu 12.04 e posterior , os administradores são membros do grupo chamado
sudo
.No Ubuntu 11.10 e versões anteriores , os administradores são membros do grupo chamado
admin
.Quando um sistema Ubuntu anterior ao 12.04 é atualizado para o 12.04 ou posterior, o
admin
grupo é mantido para compatibilidade com versões anteriores (e continua a conferir poder administrativo aos usuários), mas osudo
grupo também é usado.Contas de usuário limitadas
Posso usar uma conta de usuário limitada em vez de uma conta de administrador?
Se você quiser, com certeza. Crie uma conta de usuário limitada em Configurações do sistema > Contas de usuário e efetue login como esse usuário.
Posso tornar minha conta de administrador uma conta de usuário limitada?
Sim, basta removê-lo dos grupos
sudo
eadmin
(veja acima).Mas verifique se há pelo menos uma outra conta de administrador para poder administrar seu sistema. Se não houver, será necessário inicializar no modo de recuperação ou em um CD ao vivo e tornar algum usuário administrador novamente . ( É semelhante à redefinição de uma senha perdida de administrador .)
As ferramentas gráficas para administrar usuários e grupos geralmente impedem a criação de um sistema sem administradores ou, pelo menos, o alertam. As ferramentas de linha de comando normalmente não (confiando que você sabe o que está fazendo).
fonte
root
fazer qualquer coisa" com osudo
PolicyKit. Um administrador pode até ativar aroot
conta e efetuar login. Se você abstrair uma conta de usuário como uma combinação de ações mecanicistas e conscientes, os usuários humanos terão usuários não humanos, incluindoroot
agir de maneira puramente mecanística. Se você entende como tudo funciona, se a sua analogia reforça isso, ótimo! Mas eu não acho que realmente capte o relacionamento root-admin.root
como Batman. A diferença é inteiramente uma questão de identidade construída. Bruce Wayne pode se tornar Batman sempre que quiser e fazer quase tudo, mas ele sempre será Bruce Wayne sob a máscara. Ainda assim, Batman é mais quem ele realmente é - a personalidade de Bruce Wayne é um artifício que o protege das conseqüências de ser Batman. Ao se apresentar como Wayne na vida cotidiana, ele pode proteger a si e a seus entes queridos de seus próprios erros, falhas no sistema e malware de Gotham City.Não existe uma pergunta idiota;)
Espero que isso esclareça um pouco as coisas:
No Ubuntu, dois tipos diferentes de contas de usuário podem ser criados: contas padrão e contas de administrador . A diferença entre os dois: uma conta padrão não tem permissão para fazer alterações importantes em seu sistema obtendo acesso root, enquanto uma conta de administrador pode usar sua senha para fazer alterações como usuário root. O próprio usuário root é um dos muitos usuários que o sistema criou e que você normalmente não vê ou nota e não pode fazer login como ele (por padrão, de qualquer maneira). Se você estiver conectado a uma conta do tipo administrador, poderá se tornar esse usuário raiz com o
sudo
comando em um terminal e você pode digitar sua senha para instalar o software, fazer alterações no sistema etc. Se você estiver logado como usuário padrão, não poderá fazer nada disso.fonte
sudo
Em todos os sistemas Linux Para fazer alterações no sistema, precisamos ser autenticados como usuário root e, para aplicar todas as alterações, precisamos ser usuários root.
Usuários normais não podem aplicar as mudanças no sistema. Essa é a vantagem do Linux em comparação com o Windows.
Se algum ataque foi feito, isso resultará apenas nessa área do sistema Linux / Unix, porque para atacar ou modificar as áreas restantes, ele precisa de permissões de root, mas no Windows, se um local for atacado, significa que o sistema inteiro será afetado.
É por isso que, em muitas perguntas, se algum usuário solicita uma senha de root, nós o avisaremos, pois isso não é recomendado em circunstâncias de segurança e deixaremos a escolha por eles.
Se você deseja se tornar um usuário root, o sudo pode ajudá-lo.
Se você deseja iniciar o aplicativo como usuário root, pode usar o sudo.
É sempre melhor executar o sistema como usuário não root.
fonte
A conta criada durante a instalação é uma conta de administrador .
No Ubuntu, a conta root não tem senha e, como conseqüência, você não pode fazer login como
root
usuário. Existem maneiras de contornar isso, mas essa é a configuração padrão.Uma conta de administrador no Ubuntu significa que o usuário é adicionado ao grupo
sudo
, o que torna a conta qualificada para obter prevalências temporárias usando osudo
comando O PolicyKit pode solicitar a escalação de privilégios solicitando a senha do 'Administrador'. (Você precisa selecionar um usuário administrador e fornecer a senha dessa conta.)Para confirmar que isso é verdade:
Abra um terminal e tente atualizar o índice do pacote de software.
apt-get update
é o comando usado para fazer isso e isso requer que seja executado como root. Funciona apenas quando você efetua login como root ou executa-o como root usando escalações de privilégios. Um administrador pode executarsudo apt-get update
autenticando osudo
mecanismo que permite que os comandos sejam executados como qualquer usuário. Um usuário padrão não poderá fazer isso.Abra Contas de usuário em Configurações do sistema e tente adicionar um novo usuário. O mecanismo de proteção usado lá é o PolicyKit. Os administradores poderão autenticar e escalar privilégios, mas os usuários padrão serão bloqueados. Requer uma senha de 'administrador' para continuar.
Aqui está como você verifica se sua conta é administrador ou não:
Administrator
o nome da conta nos dois painéis para contas de administrador eStandard
usuários normais.fonte
Não.
o usuário com o qual você efetua login no Ubuntu não é o usuário administrador (o usuário administrador na terminologia Linux é chamado de raiz)
fonte
root
nosudo
PolicyKit).sudo
o acesso pode ser limitado pelo programa que você está tentando executar como root, o que o torna muito mais confuso.root
comsudo
, isso é irrelevante. Os administradores podem executar qualquer comando comoroot
comsudo
. Por padrão, ninguém pode executar nenhum comando comoroot
(ou qualquer outro usuário) comsudo
. Além disso,sudo
é apenas um mecanismo para executar ações como raiz - o que as pessoas tendem a pensar quesudo
é, na verdade, o PolicyKit atualmente.