【问题标题】:Adminer does not support accessing a database without a password, using mongodbadminer不支持无密码访问数据库,使用mongodb
【发布时间】:2020-08-22 10:25:22
【问题描述】:

这是我给管理员的 yaml:

kind: Service
metadata:
  name: adminer-1598029219
  labels:
    app.kubernetes.io/name: adminer
    helm.sh/chart: adminer-0.1.5
    app.kubernetes.io/instance: adminer-1598029219
    app.kubernetes.io/managed-by: Helm
spec:
  type: NodePort
  ports:
    - port: 8000
      targetPort: http
      protocol: TCP
      name: http
  selector:
    app.kubernetes.io/name: adminer
    app.kubernetes.io/instance: adminer-1598029219
---
# Source: adminer/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: adminer-1598029219
  labels:
    app.kubernetes.io/name: adminer
    helm.sh/chart: adminer-0.1.5
    app.kubernetes.io/instance: adminer-1598029219
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: adminer
      app.kubernetes.io/instance: adminer-1598029219
  template:
    metadata:
      labels:
        app.kubernetes.io/name: adminer
        app.kubernetes.io/instance: adminer-1598029219
    spec:
      containers:
        - name: adminer
          image: "dockette/adminer:full"
          imagePullPolicy: IfNotPresent
          ports:
            - name: http
              containerPort: 80
              protocol: TCP
          env:
          - name: ADMINER_PLUGINS
            value:
          - name: ADMINER_DESIGN
            value: pepa-linha
          - name: ADMINER_DEFAULT_SERVER
            value: 
          resources:
            {}
          livenessProbe:
            null
          readinessProbe:
            null

这是我用于 mongoDB 的 yaml

kind: Service
metadata:
 name: mongo
 labels:
   name: mongo
   app: mongo
spec:
 ports:
 - port: 27017
   targetPort: 27017
   name: web
 clusterIP: None
 selector:
   role: mongo

---
apiVersion: apps/v1
kind: StatefulSet
metadata:
 name: web
spec:
 selector:
    matchLabels:
      app: mongo # has to match .spec.template.metadata.labels
 serviceName: "mongo"
 replicas: 3
 template:
   metadata:
     labels:
       app: mongo
   spec:
     terminationGracePeriodSeconds: 10
     containers:
       - name: mongo
         image: mongo
         command:
           - mongod
           - "--replSet"
           - rs0
           - "--smallfiles"
           - "--noprealloc"
         ports:
           - containerPort: 27017
             name: web
         volumeMounts:
           - name: mongo-persistent-storage
             mountPath: /data/db
 volumeClaimTemplates:
 - metadata:
     name: mongo-persistent-storage
     annotations:
       volume.beta.kubernetes.io/storage-class: "fast"
   spec:
     accessModes: [ "ReadWriteOnce" ]
     resources:
       requests:
         storage: 1Gi

所以我的问题是我无法登录到 mongod,因为我从管理员那里得到了这个: 管理员不支持无密码访问数据库。有什么简单的解决方案可以让我登录到我的 mongod 吗? PS我运行kubernetes

【问题讨论】:

    标签: kubernetes adminer


    【解决方案1】:

    您的问题的答案可以在Adminer's documentation找到:

    无密码访问数据库

    Adminer 4.6.3 和更新版本不支持访问数据库 密码。原因是一个被遗忘的Adminer上传到了一个地方 攻击者可访问的文件可能已用于访问数据库。 有以下选项:

    1. 将数据库服务器设置为需要密码。这适用于除 SQLite 和 SimpleDB 之外的所有数据库。
    2. 使用login-password-less plugin 设置密码 管理员需要但未传递到数据库 (example)。
    3. 使用login-ip plugin查看IP地址 并允许使用空密码。
    4. 实现login method 以添加您的自定义 身份验证。

    您可能会发现this answer 也很有帮助。它非常详细地描述了整个过程。

    【讨论】:

      猜你喜欢
      • 2012-11-30
      • 1970-01-01
      • 1970-01-01
      • 2018-02-21
      • 1970-01-01
      • 2011-02-10
      • 1970-01-01
      • 1970-01-01
      • 2015-04-10
      相关资源
      最近更新 更多