왜 postgres에 쉘이 필요한가요?


13

데비안 Wheezy 시스템에서 "PostgreSQL 관리자"인 postgres 사용자 'postgres' /bin/bash가 쉘로 사용 되는 것을 알았습니다 . 그러나 이것이 왜 필요한지 알 수 없습니다. 이것을 /bin/false여전히 변경 하면 명령을 사용할 수 있습니다 psql.

그렇다면 시스템 사용자 postgres는 왜 쉘을 필요로하며, 구체적으로 /bin/bash해야합니까?


5
이것은 cronjob을 실행하는 데 필요했습니다 pg_autovacuum.
Simon Richter

답변:


14

확인 왜 '빈'사용자가 로그인 쉘을 필요합니까?

시스템 사용자를위한이 패턴은

  • 데비안에서는 일반적이며 다른 배포판에서는 그리 많지 않습니다.
  • 여러 사람들이 버그 / 진정한 보안 문제를 고려했습니다.
  • cron 작업을 해당 사용자로 실행하고 su -c를 사용하여이 사용자로 실행하는 경우 일부 스크립트에 의해 실행되어야합니다. 쉽게 확인할 수 있어야합니다. psql에 속하는 크론 작업을 점검하십시오. postgres 패키지 ( dpkg-query -L) 에서 스크립트를 확인하고 사용하도록 grep하십시오 su.

또한 SSH 로그인과 관련하여이 사용자를 악용하는 것이 염려되는 경우 sshd_config에서 AllowGroups를 사용하는 것이 편리 할 수도 있습니다. ( Ubuntu 서버 안내서sshlogin 에서 권장하는대로 그룹 작성 ).

이 패턴은 올해 초 기본 시스템에서 수정되었습니다 . 버그 # 274229를 참조하십시오 . 따라서 postgres도 고칠 수 있다고 생각되면 버그를 제기하여 패키지 관리자에게 문의하는 것이 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.