sudo
다른 응용 프로그램에서 응용 프로그램을 실행하는 것이 안전하거나 허용 가능한 방식인지 알고 싶습니다. 예를 들어, 작업을 수행하기 위해 구성 파일을 사용하는 애플리케이션이 있고 해당 파일 어딘가에 다음 줄이 있다고 가정해 보겠습니다(이 경우 데이터베이스를 생성하려고 합니다).
/usr/bin/sudo -u postgres /usr/bin/psql < /home/userX/create.sql
시스템 관리자의 관점에서 이것이 허용됩니까?
답변1
네, 좋습니다. 많은 일반 유틸리티가 이 작업을 수행합니다. 그러나 애플리케이션이 sudo를 얻지 못하는 경우에 대비해 몇 가지 대체 조치가 있어야 합니다. 하지만 이는 단지 좋은 스크립팅일 뿐입니다.
이와 같은 작업을 수행하는 또 다른 방법(권장하지 않음)은 사용자에게 응용 프로그램을 루트로 실행하도록 요구하는 것인데, 이는 끔찍한 일입니다. 그래서 이 대안이 더 좋습니다. 또한 스크립트에 일부 사용자 입력이 필요한 경우 사용자 입력이 올바르게 처리되는지 확인하십시오.