Tente este procedimento:
- faça o login como user1
- salve seu comando no arquivo de script, por exemplo
changeText.sh
-
torne-o executável:
chmod 755 changeText.sh
-
definir a permissão SUID (Definir proprietário do ID do usuário em execução):
chmod u+s changeText.sh
Depois disso, changeTest.sh
se parece com:
-rwsr-xr-x 1 user1 user1 xxxx nov 15 2014 /path/to/file/changeText.sh
O SUID concede permissões temporárias a um usuário para executar um programa / arquivo com as permissões do proprietário do arquivo em vez do usuário que o executa.
Em outras palavras, quando user2
for executado, /path/to/file/changeText.sh
receberá as permissões do proprietário do arquivo e alterará o texto no arquivo texto1, mesmo que user2
não tenha permissão de gravação.
Aqui é um link útil.