[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

SUID e SGID



Salve galera, estou com uma dúvida meio básica. Para mim, sempre foi
meio nebuloso a questão de SUID e SGID, portanto resolvi ler algum
material e fazer alguns testes.

A minha dúvida é: quando eu seto o SGID em um executável, e outro
usuário do mesmo grupo for executar, esse processo vai rodar como se
fosse o usuário original ou só vai ter as permissões do outro usuário?

Criei dois usuários: dilma e serra, e coloquei eles dentro do mesmo
grupo brasil. (ok, esse não foi o nome dos usuários, só to colocando
assim pra enxer o saco).

Com a dilma, criei o seguinte script:

#!/bin/bash
whoami
touch PAC2
exit 0

as permissões deste script são: rwsr-sr-- e o user e group owner são
dilma:brasil

E coloquei setei os bits de execução para o usuário, o grupo, e tb
SUID e SGID. Quando eu executo com o usuário dilma, o whoami mostra
dilma, e o owner e group owner do arquivo PAC2 é dilma:brasil. Quando
executo com o serra, o whoami mostra serra, e os user e group owner
são serra:brasil.

Fiz mais um teste e coloquei o serra em mais um grupo, o psdb, e setei
este grupo como primário, mas mantive o serra dentro do grupo brasil.
agora quando eu executo o script, o arquivo PAC2 mostra serra:psdb, e
não serra:brasil, como eu esperava.

Resumindo, o que SUID e SGID fazem? sendo que o usuário ainda executa
como ele mesmo e os arquivos criados ainda são do grupo principal do
usuário, e não do grupo do arquivo.


Reply to: