Eu entendo como fazer um executável também ser executado como root com o comando chmod u+s para definir o suid. O que estou pensando é como faria com que o executável fosse sempre executado como um usuário não root, diferente do usuário que está executando o arquivo.
Então, para maior clareza, digamos que tenho usuários Alice e Bob, ambos não pertencentes ao grupo sudo. Alice cria um executável que lê algo de sua pasta pessoal e deseja ter certeza de que Bob também pode executar o arquivo, mas não deseja que o executável seja executado com privilégios de root devido a questões de segurança. Como Alice pode ter certeza de que o arquivo sempre será executado sob seu usuário sem que Bob precise de suas credenciais?
Responder1
O suid
sinalizador garantirá que o arquivo seja sempre executado como o proprietário atual do arquivo, não como root.
Portanto, se você deseja que um arquivo sempre seja executado como alice
, deixe-o pertencer a Alice usando: chown alice filename
e defina-o como suid.