Ý nghĩa của sudo sudo là gì?


8

Tôi đang sử dụng Cloud9 cho phát triển Rails và nó sử dụng môi trường Ubuntu. Trong tài liệu về việc sử dụng cơ sở dữ liệu PostgreQuery, nó có ghi:

Kết nối với dịch vụ:

$ sudo sudo -u postgres psql 

Ý nghĩa của việc gõ sudo hai lần là gì?

https://docs.c9.io/setting_up_postgresql.html


1
Có thể người dùng được phép chạy sudolệnh dưới quyền root, nhưng không phải psqllệnh như postgres.
Stéphane Chazelas

@WarrenYoung Nhìn vào tài liệu có vẻ như cố ý rằng người dùng có thể root mà không cần đánh nhau. Người dùng ban đầu có thể được coi là một tài khoản quản trị và vì vậy nó có thể đã được đưa rauser ALL=(ALL) NOPASSWD: ALL
Bratchley

Tất nhiên, không nhắc mật khẩu root cho tài khoản có quyền ssh có lẽ là một mối quan tâm.
Bratchley

Tôi đã mở một vấn đề (và thực hiện một hàm băm của yêu cầu kéo). Hãy xem họ có sửa nó không.
muru

Và nó đã được sửa.
muru

Câu trả lời:


9

sudo -u postgres cho phép bạn mạo danh người dùng postgres khi chạy lệnh. Người dùng của bạn có thể không có đặc quyền đó, nhưng root thì có.

Vì vậy, sudo đầu tiên cung cấp cho bạn các đặc quyền của root và sudo thứ hai cho phép bạn (với quyền root) sudo -u để postgres cho phép lệnh được chạy như người dùng postgres.


+1: Điều này cũng có thể giải thích thứ hai sudo.
Warren Young

0

Họ có thể đã chỉ trao quyền sudo cho tài khoản của bạn cho tài khoản root và vì vậy họ nghĩ rằng họ cần nó cho sudongười dùng postgres để đến đó.

Xem xét có bao nhiêu người đúng quy tắc của họ, bạn có thể chạy sudo -lnhư một người dùng thông thường để xem họ có cho bạn quyền truy cập vào tất cả người dùng hay khóa bạn để root vì một số lý do. Tôi sẵn sàng trở thành người đầu tiên trong trường hợp bạn có thể rời khỏi trường hợp đầu tiên sudo.

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.