Tại sao `postgres` yêu cầu shell?


13

Trong các hệ thống Wheezy Debian của tôi , tôi nhận thấy rằng người dùng postgres 'postgres', "quản trị viên PostgreQuery", sử dụng /bin/bashnhư shell. Tuy nhiên, tôi không thể hiểu tại sao điều này lại cần thiết. Thay đổi điều này để /bin/falsevẫn cho phép tôi sử dụng lệnh psql.

Vì vậy, tại sao người dùng hệ thống postgresyêu cầu một vỏ, và nó phải được cụ thể /bin/bash?


5
Điều này là cần thiết cho cronjob chạy pg_autovacuum.
Simon Richter

Câu trả lời:


14

Kiểm tra Tại sao người dùng 'bin' cần vỏ đăng nhập?

Nó nói mẫu này cho người dùng hệ thống là

  • Phổ biến trong Debian, và không nhiều trong các bản phân phối khác.
  • Được coi là một vấn đề lỗi / bảo mật chính hãng của một số người.
  • Bắt buộc để chạy các công việc định kỳ với tư cách là người dùng đó và có lẽ bởi một số tập lệnh nếu họ sử dụng su -c để chạy như người dùng này. Nó nên dễ dàng để kiểm tra cho những. Kiểm tra các công việc cron thuộc về psql. Kiểm tra tập lệnh trong gói postgres ( dpkg-query -L) và grep chúng để sử dụng su.

Chúng tôi cũng đề xuất rằng nếu lo lắng chính của bạn là một loại lạm dụng người dùng này liên quan đến đăng nhập SSH, thì có thể thuận tiện khi sử dụng Allowgroup trong sshd_config. (Tạo một sshloginnhóm, theo khuyến nghị của Hướng dẫn máy chủ Ubuntu ).

Mẫu đã được sửa trong hệ thống cơ sở vào đầu năm nay - xem lỗi # 274229 . Vì vậy, nếu bạn nghĩ rằng postgres cũng có thể được sửa, thì thật tuyệt khi liên hệ với những người bảo trì gói, ví dụ như bằng cách gửi một lỗi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.