지정된 사용자로 bash 스크립트에서 명령을 실행하고 문자열로 비밀번호를 제공할 수 있는지 알고 싶습니다.
현재 나는
COMMAND="${DIRECTORY}/script.sh"
su -c postgres $COMMAND
하지만 이를 위해서는 비밀번호를 입력해야 하는데, 스크립트가 cron에서 매시간 실행되기 때문에 비밀번호를 계속 입력할 수 없습니다.
답변1
여러 가지 가능성:
스도
호출에 적합할 만큼 안전하고 유연한 방식으로 구성할 수 있다면 이를 사용하여 스크립트 사용자가 암호를 입력하지 않고도 sudo
사용자로서 명령을 실행할 수 있도록 할 수 있습니다.postgres
sudo 및 래퍼 스크립트
postgres
or 만 작성할 수 있는 래퍼 스크립트를 작성 root
하고 호출(스크립트 매개변수)이 올바른지 확인할 수 있습니다. sudo
스크립트 사용자가 와 같은 임의의 인수를 사용하여 래퍼 스크립트를 호출하도록 허용할 수 있습니다 postgres
.
SSH
명령줄만 실행해야 한다면 SSH를 사용할 수 있습니다. 키를 명령에 바인딩할 수 있습니다. 즉, 키를 다른 용도로 사용할 수 없습니다.
답변2
파이프를 사용하여 비밀번호를 적용할 수 있는데, 저는 그것을 사용했는데 잘 작동합니다.
command="${DIRECTORY}/script.sh"
su -c postgres $command|passwd "여기에 비밀번호를 입력하세요"