Por que uma senha de usuário simples permite acesso root no Ubuntu?

1

Eu tenho um cliente que eu configurei com uma máquina linux. Ele não é muito experiente em tecnologia, e obviamente só precisava de uma senha simples para se conectar ao Ubuntu. Seu nome de usuário e senha são algo como:

user: John
password: GoodDeals

Por outro lado, a senha do root na máquina é muito mais complexa e é algo que eu deveria ter acesso.

Mas quando eu uso o comando:

sudo su -

O Ubuntu solicita a senha simples de John e, em seguida, concede acesso root a toda a máquina.

Isso pode ser um problema, pois uma vez que um funcionário soubesse a senha simples para fazer logon na máquina, ele poderia essencialmente obter acesso root com ele.

Este comportamento é pretendido?

Por que o fato de saber uma senha de conta de usuário fornece automaticamente acesso root?

    
por some1 26.03.2016 / 21:42

3 respostas

2

Descobri que John estava no grupo sudo quando ele não deveria estar. Removido John do sudo usando este comando:

gpasswd -d john sudo

E isso resolveu o problema. Se ele tentar escalar privilégios agora, ele é incapaz de fazê-lo.

    
por 26.03.2016 / 22:12
4

Por padrão, a distribuição Ubuntu do Linux vem com login root desativado e senha root unset, então para aumentar seu nível de privilégio o usuário precisa executar comandos com sudo , e isso é permitido somente quando o usuário é um sudoer (tendo sua entrada no arquivo sudoers ), que é a seguinte para breve:

Os membros do grupo de administradores podem obter privilégios de root

%admin  ALL=(ALL) ALL

Permitir que membros do grupo sudo executem qualquer comando

%sudo   ALL=(ALL:ALL) ALL

A raiz e os usuários na roda do grupo podem executar qualquer coisa em qualquer máquina como qualquer usuário

root            ALL = (ALL) ALL
%wheel          ALL = (ALL) ALL

Sysadmins em tempo integral podem executar qualquer coisa em qualquer máquina sem uma senha

FULLTIMERS      ALL = NOPASSWD: ALL

Os sysadmins de tempo parcial podem executar qualquer coisa, mas precisam de uma senha

PARTTIMERS      ALL = ALL

E o comando que você está executando é

sudo /sbin/su -

que, quando executado por sudo user, não solicitará senha (senha sudo e senha root) se RootSudoTimeout não ocorrer, para restringir isso

john pode su apenas para o operador

john        ALL = /usr/bin/su operator

john pode su para qualquer pessoa, exceto raiz e sinalizadores não permitidos

john        ALPHA = /usr/bin/su [!-]*, !/usr/bin/su *root*
    
por 18.10.2016 / 11:57
2

Conhecer uma senha de conta de usuário não fornece acesso root automaticamente. O Sudo é destinado ao acesso root para usuários privilegiados, como o John, usando a senha do usuário, ao contrário de su , que precisam da senha do root para executar qualquer comando. Mostre a saída do comando id para John. Suponho que você tenha configurado o seu Ubuntu com esse nome de usuário, de modo que John esteja no grupo sudo por padrão.

    
por 26.03.2016 / 22:13