O que significa estar no grupo 0?

11

Vários usuários em um sistema que herdei têm seu grupo definido como 0 em / etc / passwd. O que isso significa? Eles obtêm essencialmente privilégios de root completo?

O sistema está executando o CentOS 5 e os usuários parecem estar relacionados principalmente ao sistema, embora um ex-administrador também esteja nesse grupo:

$ grep :0: /etc/passwd
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
operator:x:11:0:operator:/root:/sbin/nologin
jsmith:x:500:0:Joe Smith:/home/jsmith:/bin/bash
$
Gilles 'SO- parar de ser mau'
fonte

Respostas:

12

Diferente do usuário 0 (o usuário root), o grupo 0 não possui nenhum privilégio especial no nível do kernel.

Tradicionalmente, o grupo 0 tinha privilégios especiais em muitas variantes do unix - o direito de usar supara se tornar root (após digitar a senha de root) ou o direito de se tornar root sem digitar uma senha. Basicamente, os usuários do grupo 0 eram os administradores do sistema. Quando o grupo 0 possui privilégios especiais, ele é chamadowheel

No Linux, o grupo 0 também não possui nenhum significado especial para privilegiar os utilitários de escalação como sudoe su. Veja Por que o Debian não está criando o grupo 'wheel' por padrão?

No CentOS, até onde eu sei, o grupo 0 não tem significado especial. Não é referenciado no sudoersarquivo padrão . Os administradores desse sistema podem ter decidido emular uma tradição unix e conferir aos membros do grupo 0 algumas permissões especiais. Verifique a configuração do PAM ( /etc/pam.conf, /etc/pam.d/*) e o arquivo sudoers ( /etc/sudoers) (esses não são os únicos lugares em que o grupo 0 pode ter recebido privilégios especiais, mas o mais provável).

Gilles 'SO- parar de ser mau'
fonte
3

Ao contrário do ID do usuário 0, o kernel não concede nenhuma permissão especial ao grupo 0. No entanto, como 0 normalmente é o grupo padrão para o rootusuário, significa que essas pessoas geralmente poderão acessar ou modificar arquivos pertencentes ao root (já que esses arquivos geralmente também pertencem ao grupo 0).

Além disso, alguns programas podem tratar o grupo 0 especialmente. Por exemplo, suem alguns sistemas BSD, o acesso root sem senha será concedido aos membros do grupo 0 .

Portanto, embora não seja uma classe de superusuário, eu ainda teria cuidado com quem é um membro.

Jander
fonte
2

Simplesmente significa que o grupo principal é rootmais do que qualquer outra coisa e, portanto, por exemplo, eles usam as configurações do grupo ao acessar arquivos onde estão as configurações do grupo root.

A maioria dos arquivos de sistema padrão pertence a elas, root.rootmas as permissões de grupo geralmente são as mesmas que as permissões mundiais; portanto, isso por si só não oferece nenhuma vantagem, a menos que seu sistema tenha as permissões de grupo alteradas nos arquivos padrão.

Não concede privilégios de root completo.

StarNamer
fonte
0

Estou um pouco atrasado para a festa, mas me fiz a mesma pergunta hoje e cheguei à seguinte conclusão:

Isso é contrário ao princípio do menor privilégio e, portanto, deve ser evitado.

Mais especificamente, isso pode dar ao usuário (leitura, gravação ou execução) permissões não apenas para muitos arquivos e diretórios regulares, mas também para muitos outros especiais, como os que falam com o kernel do sistema.

Mas como isso pode ser diferente para o seu sistema, você deve executá-lo para encontrar e inspecionar todos (primeiro para leitura, depois para gravação, eXecute é deixado como um exercício para o leitor):

find / -group 0 -perm -g+r ! -perm -o+r  -ls | less 
find / -group 0 -perm -g+w ! -perm -o+w  -ls | less

Alguns deles podem ser arquivos e diretórios regulares (como o diretório inicial / raiz), mas outros podem ser pseudo arquivos que são interfaces para o kernel (como em / proc e / sys)

por exemplo:

find /sys -type f -group 0 -perm -g+w ! -perm -o+w  -name 'remove'
/sys/devices/pci0000:00/0000:00:17.0/0000:13:00.0/remove
/sys/devices/pci0000:00/0000:00:17.0/remove
/sys/devices/pci0000:00/0000:00:16.6/remove
...
etc.

Use lspci -v |lesspara descobrir o que são esses dispositivos (por exemplo: Controladora de armazenamento, controladora USB, placas de rede e vídeo, etc.)

JohannesB
fonte
A página da Wikipedia à qual você se vincula diz: "O princípio significa dar a uma conta de usuário ou processar apenas os privilégios essenciais para executar a função pretendida". Mas você fez nenhum argumento que essas contas não precisam do acesso que começa a partir estar no grupo 0.
Scott