Precisamente o contrário, você não precisa usar sudo ou mudar para root, o executável faz isso por você.
Por favor, compare as duas linhas seguintes:
-rws---r-x 1 root root 21872 2009-10-13 21:06 prg1
-rwx---r-x 1 root root 21872 2009-10-13 21:06 prg2
O bit setuid em prg1
, junto com os bits de leitura e execução para 'outro' significa que qualquer usuário pode executá-lo com privilégios de root? O prg2
também leu e executou para 'outro', mas não tem o setuid bit set, então isso significa que ele ainda pode ser executado por qualquer usuário, mas sem privilégios de root?
Esse é o bit "setuid", que informa ao sistema operacional para executar esse programa com o ID do usuário de seu proprietário. Isso é normalmente usado com arquivos de propriedade do root para permitir que usuários normais os executem como root sem ferramentas externas (como sudo
).
Você pode definir o bit suid usando chmod
, por exemplo, chmod 4755
, o que dará um arquivo com as permissões normais 755 ( rwxr-xr-x
) e adicionará o bit suid para fornecer rwsr-xr-x
Você pode limpar o bit setuid emitindo um comando chmod normal com um 0 anexado a ele. Por exemplo, para definir permissões de volta para rwxr-xr-x
você usaria chmod 0755
.
Tags privileges setuid