
스크립트가 원격으로 호출되는 것을 방지하려고 합니다. 대신 사용자는 먼저 SSH 로그인을 한 다음 스크립트를 실행해야 합니다.
ssh remote-server "script.sh"
실패해야 한다
ssh remote-server
로그인 후
./script.sh
작동해야합니다
소유권을 변경하고 적용할 수 있지만 chmod
원격 사용자는 다음을 사용할 수 있습니다.ssh remote-server "sudo -u newuser ./script.sh"
AWS EC2 인스턴스 사용
답변1
ssh foo@remote-server
이어서 실행하는 것은 ./script.sh
running 과 동일하며 ssh foo@remote-server ./script.sh
, ssh foo@remote-server
이어서 실행하는 sudo -u bar ./script.sh
것은 와 동일합니다 ssh foo@remote-server sudo -u bar ./script.sh
( sudo
쉽게 해결할 수 있는 TTY가 필요하기 때문에 실패할 수 있다는 점은 제외). 그래서 당신이 요구하는 것이 말이되지 않는 것 같습니다. 이 인위적인 차이를 해결하기 위해 수행하는 모든 작업(예: 존재 여부 테스트)은 $TERM
아마도 [ -t 0 ]
쉽게 해결될 수 있습니다.