Do nome program.sh
, estou supondo que você esteja tentando executar um script interpretado, não um binário ELF. O Linux ignorou o bit setuid nos scripts desde há muito tempo, devido a possíveis problemas de segurança ( condição de corrida entre o kernel verificando o bit + s e o interpretador de script abrindo o arquivo).
Se esse script precisar estar disponível para usuários específicos, crie uma regra sudo
em / etc / sudoers que permita isso:
xyz ALL=(root:root) NOPASSWD: /usr/local/bin/program.sh
Pode haver outras soluções. Por exemplo, se você deseja criar diretórios pessoais automaticamente (no primeiro login), o módulo pam_mkhomedir.so
PAM existe para isso.