Người dùng mặc định mongodb là gì?

Tên người dùng và mật khẩu là hình thức xác thực cơ bản nhất. Theo mặc định, MongoDB không cung cấp bất kỳ hình thức xác thực nào. Điều này có nghĩa là bất kỳ người dùng nào có quyền truy cập vào giao diện Máy chủ MongoDB của bạn đều có thể truy cập và quản lý cơ sở dữ liệu của bạn

Đây là một rủi ro bảo mật nghiêm trọng, đặc biệt là khi cơ sở dữ liệu của bạn bị lộ ra ngoài. Do đó, bài đăng này sẽ hướng dẫn bạn cách định cấu hình xác thực tên người dùng và mật khẩu trong máy chủ MongoDB

Hãy nhảy vào nó

Bước 1. Đăng nhập vào máy chủ MongoDB

Bước đầu tiên là đăng nhập vào máy chủ của bạn. Vì MongoDB không được bảo mật nên bạn có thể chạy lệnh sau

$ mongo Mongodb. //< máy chủ > . < cổng >

 
Lệnh đã cho đăng nhập vào máy chủ MongoDB với tên người dùng mặc định.

Bước 2. Thay đổi cơ sở dữ liệu quản trị

Tiếp theo, thay đổi cơ sở dữ liệu quản trị cho phép chúng tôi thực hiện các hành động như tạo người dùng mới và gán quyền

> SỬ DỤNG quản trị viên
'đã chuyển sang quản trị viên db'

 

Bước 3. Tạo người dùng quản trị viên

Bước tiếp theo là tạo người dùng với vai trò UserAdminAnyDatabase. Điều này cho phép bạn quản lý bất kỳ cơ sở dữ liệu nào trên máy chủ

Chúng ta có thể chạy lệnh như sau

db. người tạo người dùng ({ người dùng. "root" , pwd. "mật khẩu" , vai trò. [{ vai trò. "userAdminAnyDatabase" , db. "quản trị viên"}]})

 
Chạy lệnh trước đó sẽ tạo một tên người dùng có tên là root với mật khẩu và vai trò userAdminAnyDatabase đã chỉ định.

đầu ra

{ được rồi. 1 }

 

Bước 4. MongoDB Kích hoạt xác thực

Khi chúng tôi đã tạo tên người dùng và mật khẩu, chúng tôi cần bật xác thực cho máy chủ MongoDB

Chúng tôi có thể làm điều này bằng cách chỉnh sửa tệp cấu hình MongoDB. Hãy nhớ rằng vị trí của tệp cấu hình MongoDB khác nhau tùy thuộc vào phương pháp cài đặt và hệ điều hành

Xác định vị trí mongod. conf hoặc mongod. cfg trong hệ thống của bạn. Chỉnh sửa tệp bằng trình soạn thảo văn bản yêu thích của bạn

$ sudo nano / vv /mongod.conf

 
Chỉnh sửa tệp và định vị mục nhập như hình bên dưới.

bảo mật.
    ủy quyền. "đã tắt"

 
Trong một số trường hợp, bạn có thể thấy khối bảo mật đã được nhận xét như hình dưới đây.

# bảo mật.

 
Bỏ chú thích bằng cách xóa dấu thăng trước đó và đặt mục nhập như hình bên dưới.

#bảo mật.
    ủy quyền. "đã bật"

 
Lưu tệp và đóng.

Khởi động lại dịch vụ MongoDB bằng lệnh sau

$ sudo khởi động lại dịch vụ mongodb

 
Trên Windows, bạn có thể chạy lệnh sau.

$ net stop mongodb && net start mongodb

 
Chạy lệnh sau để đăng nhập vào máy chủ bằng tên người dùng và mật khẩu đã chỉ định.

$ mongo mongodb. //< máy chủ > . < cổng > db. auth ("tên người dùng" , "mật khẩu")

 

Phần kết luận

Bài đăng này đã thảo luận về những điều cơ bản của việc thiết lập xác thực tên người dùng và mật khẩu trên Máy chủ MongoDB

Để bật kiểm soát truy cập, hãy sử dụng tùy chọn dòng lệnh --auth hoặc bảo mật. cài đặt tệp cấu hình ủy quyền

Bạn có thể sử dụng quy trình sau hoặc tham khảo Kích hoạt xác thực trong tài liệu MongoDB

Thủ tục
  1. Bắt đầu MongoDB mà không cần kiểm soát truy cập

    mongod --port 27017 --dbpath /data/db1
    
  2. Kết nối với ví dụ

    mongo --port 27017
    
  3. Tạo quản trị viên người dùng

    use admin
    db.createUser(
      {
        user: "myUserAdmin",
        pwd: "abc123",
        roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
      }
    )
    
  4. Khởi động lại phiên bản MongoDB với quyền kiểm soát truy cập

    mongod --auth --port 27017 --dbpath /data/db1
    
  5. Xác thực là quản trị viên người dùng

    mongo --port 27017 -u "myUserAdmin" -p "abc123" \
      --authenticationDatabase "admin"
    

Giải pháp liên quan

Mongodb – Cách bảo mật MongoDB bằng tên người dùng và mật khẩu

Bạn cần bắt đầu mongod với tùy chọn --auth sau khi thiết lập người dùng

Từ trang web MongoDB

Chạy cơ sở dữ liệu (quy trình mongod) với tùy chọn --auth để bật bảo mật. Bạn phải thêm người dùng vào cơ sở dữ liệu quản trị trước khi khởi động máy chủ với --auth hoặc thêm người dùng đầu tiên từ giao diện máy chủ cục bộ

Người dùng MongoDB là gì?

Người dùng MongoDB được sử dụng để truy cập cơ sở dữ liệu theo các quyền được chỉ định mà người dùng đã xác định . Người dùng quan trọng và hữu ích hơn trong mọi cơ sở dữ liệu để truy cập cơ sở dữ liệu thông qua máy khách. Trong MongoDB, chúng ta phải sử dụng db.

Làm cách nào để đặt tên người dùng và mật khẩu MongoDB?

Câu trả lời ngắn. .
Bắt đầu MongoDB mà không cần kiểm soát truy cập ( /data/db hoặc vị trí db của bạn). mongod --dbpath /data/db
Kết nối với ví dụ. mongo
Tạo người dùng. sử dụng some_db db. .
Dừng phiên bản MongoDB và bắt đầu lại với quyền kiểm soát truy cập. mongod --auth --dbpath /data/db
Kết nối và xác thực là người dùng

Tôi có thể tìm người dùng MongoDB ở đâu?

Để liệt kê những người dùng hiện có trong MongoDB, bạn có thể sử dụng db. phương thức getUsers() để hiển thị tất cả người dùng trong cơ sở dữ liệu hiện tại.

Tạo người dùng trong MongoDB là gì?

db. createUser(user, writeConcern) Tạo người dùng mới cho cơ sở dữ liệu mà phương thức được chạy trên đó . db. createUser() trả về lỗi người dùng trùng lặp nếu người dùng đã tồn tại trên cơ sở dữ liệu.