Điểm:0

postgres kết nối với tư cách người dùng khác

lá cờ sy

Mới đối với postgres. Cho đến bây giờ tôi đã sử dụng mysql và bất cứ khi nào tôi cần đăng nhập, tôi đã làm điều này:

mysql -u gốc -p

sau đó nhắc tôi cung cấp mật khẩu cho người dùng nguồn gốc

Nhưng postgres cảm thấy khác nhiều hơn thế. Sau khi cài đặt, tôi đã tạo một người dùng mới như thế này:

tạo người dùng root bằng mật khẩu 'cái gì đó';
tạo cơ sở dữ liệu kiểm tra;
cấp tất cả các đặc quyền kiểm tra cơ sở dữ liệu cho root;

Bây giờ khi tôi sử dụng pgadmin4, tôi nhận được lời nhắc nhập sudo mật khẩu mở khóa. Ngay cả khi tôi cố gắng kết nối với cơ sở dữ liệu qua thiết bị đầu cuối bằng cách sử dụng:

sudo -i -u postgres

Nó yêu cầu tôi cho tôi sudo mật khẩu mở khóa.

Làm cách nào tôi có thể đăng nhập thông qua người dùng khác?

lsb_release -a đưa ra:

Không có mô-đun LSB nào khả dụng.
ID nhà phân phối: Ubuntu
Mô tả: Ubuntu 21.10
Phát hành: 21.10
Tên mã: impish
Fahim Hoque avatar
lá cờ sy
đã thêm hệ điều hành và thông tin phát hành
Điểm:1
lá cờ in

Nói chung người ta sẽ sử dụng psql lệnh khi kết nối với cơ sở dữ liệu PostgreSQL và -U tùy chọn sẽ cho phép bạn chỉ định tên người dùng nào bạn muốn kết nối với:

psql -U {tên người dùng}

Như một bên ...

Việc sử dụng nguồn gốc vì tên người dùng thường là "hình thức xấu" và không được khuyến khích mạnh mẽ trong hầu hết các nhóm phát triển và cơ sở dữ liệu, vì đó là mục tiêu tấn công rõ ràng ngay cả đối với các phiên bản được cài đặt cục bộ không tiếp xúc với Internet. Thay vào đó, mọi người thường khuyên bạn nên tạo tài khoản cho các ứng dụng được giới hạn trong các cơ sở dữ liệu đơn lẻ hoặc tài khoản cho những người bị giới hạn ở một số cơ sở dữ liệu. Tất nhiên, quản trị viên sẽ có quyền truy cập vào tất cả, nhưng với một tên người dùng duy nhất.

Nếu bạn cần kết nối với PostgreSQL với mặc định postgres tài khoản, bạn có thể làm như thế này:

sudo âi âu postgres psql
Fahim Hoque avatar
lá cờ sy
Vì vậy, về cơ bản, hãy tạo những người dùng khác nhau cho các cơ sở dữ liệu khác nhau và cung cấp quyền truy cập vào tất cả tài nguyên cho quản trị viên. Nhưng không sử dụng tên `root`? Tôi có thể tạo những người dùng khác nhau và cấp cho họ quyền đối với các dbs khác nhau bằng lệnh: `tạo root người dùng bằng mật khẩu 'cái gì đó';` Nhưng quá trình tạo quản trị viên mới và cấp quyền cho tất cả có giống nhau không? Bạn có thể cung cấp một số tài liệu tham khảo cho nó? cảm ơn

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.