MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana cara mengetahui apakah Mongodb berjalan dalam mode auth dalam skrip Shell?

Jika Anda hanya ingin menguji apakah Anda dapat terhubung ke server MongoDB tanpa otentikasi melalui bash , Anda dapat menggunakan skrip yang mirip dengan berikut ini:

#!/bin/bash

# Connect to MongoDB address (host:port/dbname) specified as first parameter
# If no address specified, `mongo` default will be localhost:27017/test
isAuth=`mongo --eval "db.getUsers()" $1 | grep "not auth"`

if [ -z "$isAuth" ] ;
then
   echo "mongod auth is NOT enabled"
   exit 1
else
   echo "mongod auth is ENABLED"
   exit 0
fi

Contoh keluaran:

$ ./isAuthEnabled.sh localhost:27017
mongod auth is ENABLED

$ ./isAuthEnabled.sh localhost:27777
mongod auth is NOT enabled

Satu-satunya parameter untuk skrip ini adalah alamat MongoDB opsional untuk terhubung (host:port/dbname); mongo default shell untuk menggunakan localhost:27017/test .

Script melakukan pemeriksaan sederhana apakah pengguna dapat terdaftar tanpa izin.

Jika auth diaktifkan dengan benar, db.getUsers() perintah harus mengembalikan kesalahan seperti:

  "Error: not authorized on test to execute command { usersInfo: 1.0 }"

Catatan:Pengecualian Localhost

Secara default (seperti pada MongoDB 3.0) ada localhost exception yang memungkinkan Anda membuat administrator pengguna pertama untuk penerapan dengan menghubungkan melalui localhost . Setelah setidaknya satu pengguna telah ditambahkan, pengecualian localhost akan dinonaktifkan secara otomatis.

Jika Anda ingin memeriksa keamanan penuh penerapan Anda, ada baiknya meninjau MongoDB Daftar periksa keamanan .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Meteor.js - cara melakukan pencarian pengguna melalui beberapa koleksi

  2. 2 Cara Menghapus Database di MongoDB

  3. Kueri berdasarkan tipe array - MongoDB

  4. MongoDB Perbarui Array Dalam

  5. MongoDB:Permintaan atas hash dengan karakter khusus di kunci