[英]User creation with Cloud-init
我的虛擬機加載了以下cloud-init腳本:
#cloud-config
# Add groups to the system
# The following example adds the ubuntu group with members foo and bar and
# the group cloud-users.
groups:
- ugroup
# Add users to the system. Users are added after groups are added.
users:
- default
- name: user
gecos: Testbed as a Service
primary-group: ugroup
groups: admin
passwd: $6$rounds=4096$4pFvtqM5ldfLzR0hE9r7XSOoCO22lN7OB49IopWQ7SQrB5GBTR8X8okMpxXXQZ0jqUOuy4wKY.iYzwQTo7vH6zKx0DqjTFe6jh1
runcmd:
- [passwd, user, '-u']
但這說明我做錯了
由於我得到以下錯誤:
passwd: user 'user' does not exist
run-parts: /var/lib/cloud/instance/scripts/runcmd exited with return code 1
2013-12-16 15:15:09,028 - cc_scripts_user.py[WARNING]: failed to run-parts in /var/lib/cloud/instance/scripts
2013-12-16 15:15:09,087 - __init__.py[WARNING]: Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/cloudinit/CloudConfig/__init__.py", line 108, in run_cc_modules
cc.handle(name, run_args, freq=freq)
File "/usr/lib/python2.7/dist-packages/cloudinit/CloudConfig/__init__.py", line 72, in handle
[ name, self.cfg, self.cloud, cloudinit.log, args ])
File "/usr/lib/python2.7/dist-packages/cloudinit/__init__.py", line 309, in sem_and_run
func(*args)
File "/usr/lib/python2.7/dist-packages/cloudinit/CloudConfig/cc_scripts_user.py", line 27, in handle
util.runparts(runparts_path)
File "/usr/lib/python2.7/dist-packages/cloudinit/util.py", line 140, in runparts
raise subprocess.CalledProcessError(sp.returncode,cmd)
CalledProcessError: Command '['run-parts', '--regex', '.*', '/var/lib/cloud/instance/scripts']' returned non-zero exit status 1
2013-12-16 15:15:09,100 - __init__.py[ERROR]: config handling of scripts-user, None, [] failed
對我的問題有任何提示或解決方案嗎?
我意識到這個問題已經很老了,但是我確實進行了測試以驗證它在當前的16.04 Ubuntu映像中是否可以正常工作。
lxd可用於非常快速地創建實例和測試cloud-init配置。 假設您已經設置了lxd,我做了:
$ cat ud.yaml
#cloud-config
# Add groups to the system
# The following example adds the ubuntu group with members foo and bar and
# the group cloud-users.
groups:
- ugroup
# Add users to the system. Users are added after groups are added.
users:
- default
- name: user
gecos: Testbed as a Service
primary-group: ugroup
groups: admin
passwd: $6$rounds=4096$4pFvtqM5ldfLzR0hE9r7XSOoCO22lN7OB49IopWQ7SQrB5GBTR8X8okMpxXXQZ0jqUOuy4wKY.iYzwQTo7vH6zKx0DqjTFe6jh1
runcmd:
- [passwd, user, '-u']
$ lxc launch ubuntu-daily:xenial xuser-test \
"--config=user.user-data=$(cat ud.yaml)"
$ lxc exec xuser-test /bin/bash
# ls -l /home/
total 2
drwxr-xr-x 3 ubuntu ubuntu 6 Jul 18 18:47 ubuntu
drwxr-xr-x 2 user ugroup 5 Jul 18 18:47 user
# tail -n 2 /etc/group
ugroup:x:1000:
ubuntu:x:1001:
# tail -n 2 /etc/passwd
ubuntu:x:1000:1001:Ubuntu:/home/ubuntu:/bin/bash
user:x:1001:1000:Testbed as a Service:/home/user:
# grep passwd /var/log/cloud-init-output.log
passwd: password expiry information changed.
如果這仍然是您的問題,請針對cloud-init 提交錯誤 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.