Script pede senha root mesmo que tenha permissões executáveis para todos

0

Eu tenho um script com o nome "somescript", que tem permissões executáveis para todos (755), mas quando tento executá-lo com um usuário não-root, ele continua perguntando a senha do root. Eu até tentei definir a 4755 sem sorte. Apenas o usuário administrador e o usuário com senha de root executam o script atualmente.

Como posso fazer com que qualquer usuário possa executar o script (mas não alterá-lo)

-rwxr-xr-x 1 root     group1 2841 Jul  8  2014 somescript

user@node:~> somescript
root's password:

Edit: Depois de tentar setuid e setgid e ver eles não funcionando eu inspecionei mais através de script e descobri script está checando por nome de usuário root, se não for executado via sudo o que força a usar senha de root. Comentar este script deve fazê-lo funcionar definindo setuid como seu dono é root.

if [ "$uid" != "root" ]
then
  exec sudo /someplace/somescript
else
    
por Gorkem 06.01.2016 / 09:35

1 resposta

0

Provavelmente, o script está solicitando alguma operação com root privileges, que não tem nada a ver com permissões (neste caso), pois essa operação será executada pelo usuário atual e você não tem o SETUID ou SETGID bits ativados.

Você pode, no entanto, ativar o SETUID bit no script. Isso fará com que o script seja executado com o usuário proprietário, no seu caso root , mas o usuário que está executando o script não precisa executar nenhuma elevação de privilégios.

Você pode fazer isso executando:

chmod u+s somescript

Mais sobre SETUID/SETGID : Entenda as permissões setuid e setgid para melhorar a segurança

    
por 06.01.2016 / 09:42