데비안 Wheezy 시스템에서 “PostgreSQL 관리자”인 postgres 사용자 ‘postgres’ /bin/bash
가 쉘로 사용 되는 것을 알았습니다 . 그러나 이것이 왜 필요한지 알 수 없습니다. 이것을 /bin/false
여전히 변경 하면 명령을 사용할 수 있습니다 psql
.
그렇다면 시스템 사용자 postgres
는 왜 쉘을 필요로하며, 구체적으로 /bin/bash
해야합니까?
답변
시스템 사용자를위한이 패턴은
- 데비안에서는 일반적이며 다른 배포판에서는 그리 많지 않습니다.
- 여러 사람들이 버그 / 진정한 보안 문제를 고려했습니다.
- cron 작업을 해당 사용자로 실행하고 su -c를 사용하여이 사용자로 실행하는 경우 일부 스크립트에 의해 실행되어야합니다. 쉽게 확인할 수 있어야합니다. psql에 속하는 크론 작업을 점검하십시오. postgres 패키지 (
dpkg-query -L
) 에서 스크립트를 확인하고 사용하도록 grep하십시오su
.
또한 SSH 로그인과 관련하여이 사용자를 악용하는 것이 염려되는 경우 sshd_config에서 AllowGroups를 사용하는 것이 편리 할 수도 있습니다. ( Ubuntu 서버 안내서sshlogin
에서 권장하는대로 그룹 작성 ).
이 패턴은 올해 초 기본 시스템에서 수정되었습니다 . 버그 # 274229를 참조하십시오 . 따라서 postgres도 고칠 수 있다고 생각되면 버그를 제기하여 패키지 관리자에게 문의하는 것이 좋습니다.