Q1: 如何增加用户?
A1: 在image配方中增加:
inherit extrausers
EXTRA_USERS_PARAMS = “useradd -P 2015*08 myUser;”
A2: 在local.conf中增加:
INHERIT += “extrausers”
EXTRA_USERS_PARAMS = “useradd -P 2015*08 myUser;”
Q2: 如何设置root用户密码?
A1: 在image配方中增加:
inherit extrausers
EXTRA_USERS_PARAMS = “usermod -P 1876*18 root;”
其中“1876*18”为设置的root用户密码。
A2: 在local.conf中增加:
INHERIT += “extrausers”
EXTRA_USERS_PARAMS = “usermod -P 1876*18 root;”
其中“1876*18”为设置的root用户密码。
Q3:密码如何加密?
A: 在image配方中增加:
ROOTFS_POSTPROCESS_COMMAND += "change_root_psw;"
change_root_psw() {
sed 's%^root:[^:]*:%root:<encrypted_password_goes_here>:%' \
< ${IMAGE_ROOTFS}/etc/shadow \
> ${IMAGE_ROOTFS}/etc/shadow.new;
mv ${IMAGE_ROOTFS}/etc/shadow.new ${IMAGE_ROOTFS}/etc/shadow ;
}
B: 获取加密密码串(方法一):
# -1 MD5; -5 SHA256; -6 SHA512
maxu@SUZJNKS01:~$ openssl passwd -1 -salt xyz yourpassword
$1$xyz$LDHRuETZ.YXX1mt7T22Ub/
C: 获取加密密码串(方法二):
maxu@SUZJNKS01:~$ python3 -c "from getpass import getpass; from crypt import *; \
> p=getpass(); print('\n'+crypt(p, METHOD_SHA512)) \
> if p==getpass('Please repeat: ') else print('\nFailed repeating.')"
Password:
Please repeat:
$6$wzTPECiOsvnPPPjw$2jrHYmmIseK6TlpCo/tep5H45esyrqliY2srRHtfHE6LJPzcBT/wK5XyIHfFzJZUZkc4dtyjzhau45Mt.QSvB1
参考文章
https://wiki.yoctoproject.org/wiki/FAQ:How_do_I_set_or_change_the_root_password
https://unix.stackexchange.com/questions/81240/manually-generate-password-for-etc-shadow
https://www.shellhacks.com/linux-generate-password-hash/
https://stackoverflow.com/questions/44691319/how-to-set-a-default-password-for-root-in-yocto-fido