Từ nhận xét của bạn, bạn đề cập rằng bạn đang sử dụng mViewer. Phiên bản 0.9.1 của mViewer không hỗ trợ xác thực. Theo vấn đề này trên mViewer GitHub, điều này được giải quyết trong phiên bản 0.9.2, được nhắm mục tiêu để phát hành vào tháng 10.
Trước khi bắt đầu xác thực nút, hãy đăng nhập vào nút và thêm người dùng. Sau đó, bắt đầu nút bằng --auth
và kết nối với shell mà không cần mViewer.
Tại thời điểm này, bạn có thể kết nối với cơ sở dữ liệu quản trị và xác thực người dùng quản trị của mình:
use admin
db.auth('root', 'root')
Vì bạn thiết lập người dùng quản trị, người sẽ có quyền truy cập vào tất cả cơ sở dữ liệu, bạn cần xác thực với cơ sở dữ liệu quản trị. Khi bạn đã làm điều này, bạn sẽ có quyền truy cập vào tất cả các cơ sở dữ liệu. Bạn cũng sẽ có thể tạo người dùng mới trên bất kỳ cơ sở dữ liệu nào hoặc tạo người dùng chỉ đọc mới cho tất cả các cơ sở dữ liệu.
Nếu bạn tạo một người dùng mới chỉ có quyền truy cập vào một cơ sở dữ liệu, người dùng đó sẽ cần phải use
cơ sở dữ liệu đó và db.auth(name, pass)
chống lại nó.
Nếu bạn tạo một người dùng mới có quyền truy cập chỉ đọc vào tất cả cơ sở dữ liệu, họ sẽ use admin
rồi đến db.auth(name, pass)
để có được quyền truy cập chỉ đọc của họ vào tất cả các cơ sở dữ liệu
Bạn có thể tìm thêm thông tin về cách thiết lập xác thực tại đây và thêm thông tin về cách thiết lập người dùng tại đây
Lưu ý:Khi bạn bắt đầu một nút không có --auth
thì không có xác thực nào được kích hoạt. Điều này có nghĩa là bạn có thể kết nối với shell và db.auth('root','root')
nhưng nó sẽ không làm bất cứ điều gì liên quan đến quyền truy cập. MongoDB sẽ không từ chối quyền truy cập vào cơ sở dữ liệu mà không có --auth
tùy chọn dòng lệnh (--keyFile
trong các thiết lập phân đoạn hoặc tập hợp bản sao)