Setuid, que significa set user ID na execução, é um tipo especial de permissão de arquivo em sistemas operacionais Unix e Unix, como Linux e BSD. É uma ferramenta de segurança que permite aos usuários executar certos programas com privilégios escalados.
Quando a permissão setuid de um arquivo executável é definida, os usuários podem executar esse programa com um nível de acesso que corresponda ao usuário que possui o arquivo. Por exemplo, quando um usuário deseja alterar sua senha, ele executa o comando passwd. O programa passwd é de propriedade da conta raiz e marcado como setuid, portanto, o usuário recebe temporariamente acesso root para esse propósito muito limitado.
Ao visualizar as permissões de um arquivo com o comando ls -l, a permissão setuid é exibida como um " s " na posição de bit "user execute". Por exemplo:
ls -l / usr / bin / passwd
-rwsr-xr-x 1 raiz 54192 20 de novembro 17:03 / usr / bin / passwd
Definindo a permissão setuid de um arquivo
Para definir a permissão setuid para um arquivo executável, use o identificador de permissão u + s com o comando chmod :
chmod u + s myfile
Arquivos não executáveis podem ser marcados como setuid, mas não tem efeito; marcá-los setuid não os torna executáveis automaticamente. Nesse caso, o bit de permissão aparece como um " S " maiúsculo. Por exemplo:
ls -l myfile
-rw-r - r-- 1 usuário 0 mar 6 10:45 myfile
chmod u + s myfile
ls -l myfile
-rwSr - r-- 1 usuário 0 mar 6 10:45 myfile
No entanto, se você definir o arquivo como executável pelo usuário com a permissão u + x, a permissão setuid entrará em vigor. Ele será então representado na listagem com um " s " minúsculo:
chmod u + x myfile
ls -l myfile
-rwsr - r-- 1 usuário 0 mar 6 10:45 myfile
Setgid
Setgid é o equivalente a setuid que concede permissão ao grupo que possui o arquivo é conhecido como setgid . Ele opera da mesma maneira, e o indicador " s " ou " S " é exibido na posição de execução do grupo da saída de ls -l . Por exemplo:
chmod g + s myfile2
ls -l myfile2
-rw-r-sr-- 1 utilizador 0 Mar 6 10:46 myfile2
Acrônimos de computador, Arquivo executável, Linux, Permissão, Termos de segurança