Você precisa executar o comando com su user -c "command"
, em que "user" é o nome do usuário e "command" é o comando real que você deseja executar. Certifique-se de colocar aspas (") ao redor do comando.
Eu tenho um script que baixa db_dump
do servidor de produção.
Também criei uma conta de convidado para que meus amigos que não têm permissão para produção possam obter os arquivos baixados.
Como posso dar-lhes permissão para executar o script como meu usuário e apenas este script
para que eles não tenham% globalsudo
permission
Você precisa executar o comando com su user -c "command"
, em que "user" é o nome do usuário e "command" é o comando real que você deseja executar. Certifique-se de colocar aspas (") ao redor do comando.
Talvez você possa criar outro script Bash no qual será escrito o comando jessenorton com a senha criptografada em SHA (ou outro) e esse arquivo de script terá a permissão 710.
Se você definir 710, poderá todos (R, W, E), mas o amigo só poderá executar o script sem ler o passe no arquivo, com certeza criptografará isso.
chmod 710 /path/to/file.sh
Ou se você precisar executá-lo por qualquer um você deve configurar o 711, não é melhor para o seguro, mas é mais melhor e seguro do que o 777 mencionado por jessenorton :-), no caso dele qualquer um pode mudar o código e é alta vulnerabilidade.
É possível solução para você?