Execute o script como outro usuário

1

Eu tento matar um serviço como outro usuário. Eu faço o login como um usuário "usernoroot" e mato um serviço de um usuário root "userroot"!

Portanto, eu tenho um killscript.sh na pasta "usernoroot" como:

#!/bin/sh
kill -9 $1

e torne esse script executável:

chown root:root /home/usernoroot/killscript.sh
chmod 755 /home/usernoroot/killscript.sh

Agora, tento executar ./killscript.sh <pid> , mas obtenho:

./killscript.sh: 2: kill: Operation not permitted

O que posso fazer para executar este script com sucesso?

EDITAR

Eu instalei o sudo:

apt-get install sudo

adicione meu usuário ao grupo sudo

adduser usernoroot sudo

e adicione o script "killscript.sh aos sudoers

nano /etc/sudoers
usernoroot ALL=(ALL) NOPASSWD: /home/usernoroot/killscript.sh

Agora posso executar ./killscript.sh 222 para sair do processo com o ID 222 sem nenhum PW.

    
por fteinz 18.02.2017 / 10:18

1 resposta

1

Primeiro de tudo você está executando o script como usernoroot , o que significa que você não tem a permeação correta para matar qualquer processo que não seja seu, então, para matar qualquer processo no sistema, você pode usar a ferramenta sudo para executar seu script como root user:

sudo ./killscript.sh <pid>

Existe outra maneira de fazer isso, mas eu não recomendo , ele causará um sério problema de segurança e, se usado de maneira errada, causará grandes problemas.

use uma ferramenta setUID on kill , mas você precisa ser root:

chmod 4755 /bin/kill

então qualquer um pode executar a ferramenta kill como usuário root, eu não recomendo dessa maneira

    
por 18.02.2017 / 10:25