Primeiro a terminologia. chmod
é um programa (e uma chamada de sistema) que permite alterar os bits de permissão de um arquivo em um sistema de arquivos. sudo
é um programa especial que permite executar outros programas com credenciais diferentes (geralmente com privilégios elevados, geralmente os do usuário root). su
é semelhante, mas menos (leia-se "não") configurável do que sudo
- o mais importante é que exige autenticação de usuários com base no conhecimento da senha raiz (que é bastante previsível em relação à segurança).
O bit executável diz se o conteúdo de um arquivo pode ser carregado na memória e executado (ele não diz nada sobre se faz sentido - você pode definir o bit executável de uma imagem JPEG e assisti-la falhar espetacularmente quando você tenta executá-lo).
Agora, para as perguntas:
-
as permissões são avaliadas quando o executável está sendo carregado. No caso de
su
esudo
, isso acontece com os IDs efetivos (usuário e grupo - as credenciais usadas na avaliação de privilégios - consulte a páginacredentials(7)
man) do usuário de destino. Portanto, se o usuário de destino tiver permissão para executar o arquivo, ele será executado. -
Como mencionado acima: quando o bit executável é definido para o UID ou GID efetivo, ele pode ser executado. Caso contrário, não.
-
Geralmente, você não faz. Se desejar, você pode marcá-lo como executável somente para determinados IDs e, em seguida, preparar a configuração
sudo
para permitir que determinados usuários executem esse binário com as credenciais de um dos que têm direitos executáveis no arquivo. -
Não. Geralmente, não faz muito sentido impedir que os usuários executem programas que exigem privilégios especiais - os programas devem lidar com a falta deles (normalmente, se possível). Alguns programas têm apenas algumas funcionalidades que não exigem direitos especiais, mas oferecem mais quando executados com privilégios especiais - um exemplo é
route
: usuários sem privilégios podem usá-lo para exibir tabelas de roteamento do kernel, enquanto os administradores também podem alterá-los. p>