O s
em rws
representa setuid
, ou seja, define o ID do usuário . Este é um bit de permissão especial que permite que o programa, quando executado por qualquer usuário, seja executado com o UID efetivo do proprietário, neste caso, root. Então, quando você, como usuário normal, executa o executável sudo
, você efetivamente o faz como root. Este bit de permissão é um risco de segurança e só deve ser aplicado onde for absolutamente necessário.
Explicação do setuid
de A linha de comando do Linux de William E. Shotts Jr :
Quando aplicado a um arquivo executável, ele define o ID do usuário efetivo a do usuário real (o usuário realmente executando o programa) para aquele do dono do programa. Na maioria das vezes isso é dado a alguns programas de propriedade do superusuário. Quando um usuário comum executa um programa que é "setuid root", o programa é executado com os privilégios efetivos do superusuário. Isso permite que o programa acesse arquivos e diretórios que um usuário comum normalmente seria proibido de acessar. Claramente, porque isso levanta preocupações de segurança, o número de setuid programas devem ser mantidos a um mínimo absoluto.
O segundo root
na listagem é o grupo que possui o arquivo e, sim, apenas o usuário root está na raiz do grupo:
$ getent group root
root:x:0:
Veja um exemplo de um arquivo com propriedade de usuário e grupo diferente:
-rw-r----- 1 root shadow 1456 Nov 22 20:08 /etc/shadow
Isso significa que o arquivo pode ser lido e gravado apenas pelo usuário root, mas os membros do grupo shadow também podem ler o arquivo.