使用 LXD 和 Cloud-init 的新用户的密码

使用 LXD 和 Cloud-init 的新用户的密码

我正在尝试创建一个配置文件来自动创建容器,但在使用 cloud-init 时遇到了问题。由于某种原因,没有为用户设置密码,也没有将其添加为 sudoer。以下是 YAML:

config:
  boot.autostart: "false"
  limits.cpu: "2"
  limits.memory: "4GB"
  user.user-data: |
    #cloud-config
    users:
      - name: matheus
        gecos: Matheus Saraiva da Silva
        lock_password: false
        plain_text_passwd: tyy7854
        ssh-authorized-keys:
          - ssh-rsa myrsa
    package_update: true
    package_upgrade: true
    package_reboot_if_required: true
    snap:
      commands:
        00: snap install juju --classic
        01: snap install charmcraft --classic
        02: snap install node --classic
    apt:
      preserve_source_list: true
    packages:
      - gcc
      - podman
    runcmd:
      - usermod, -aG, sudo matheus
      - [su, matheus, -c, "wget https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb -P /home/matheus/Downloads"]
      - [su, matheus, -c, "sudo dpkg -i /home/matheus/minikube_latest_amd64.deb"]
      - [su, matheus, -c, "git config --global user.name matheusssilva"]
      - [su, matheus, -c, "git config --global user.email [email protected]"]

description: TaskStack enviroment lxd profile
devices:
  eth0:
    name: eth0
    network: lxdbr0
    type: nic
  root:
    path: /
    pool: default
    type: disk
name: TaskStack
used_by: []

当我尝试使用 sudo 执行某些操作时,配置文件中的密码不起作用。因此我不得不使用 root 用户更改用户密码#passwd matheus。这是错误吗?

答案1

您需要将用户添加到sudo组中,另外您使用的密钥无效lock_password,应该是lock_passwd。如果您检查,/var/log/cloud-init.log您会注意到以下日志:

subp.py[DEBUG]: Running command ['passwd', '-l', 'matheus'] with allowed return codes [0] (shell=False, capture=True)

正在运行,因为默认设置是禁用用户密码

运行cloud-init schema --system以验证系统云配置用户数据是否有效。

相关内容