最近想给自定义的小文件系统设置一个初始账号和密码,这涉及到两个文件:
/etc/passwd和/etc/shadow
账号比较简单,按照格式添加即可,主要是密码如何设置?
可以找一台Linux系统,利用adduser/passwd命令添加账号和密码后,拷贝出来使用。
还可以利用如下方法进行主动生成。
1,利用openssl生成
$ openssl passwd -1 -salt saltstring 123456 $1$saltstri$nFvhLCyAliD8pi7kMTHID0 $ openssl passwd -1 -salt saltstri 123456 $1$saltstri$nFvhLCyAliD8pi7kMTHID0
其中:-1表示MD5(-5表示SHA256,-6表示SHA512,等),saltstring表示盐值(实际只用了8位),123456为初始密码
2,利用mkpasswd生成
$ mkpasswd -m md5 -S saltstri -s <<< 123456 $1$saltstri$nFvhLCyAliD8pi7kMTHID0
如果没有mkpasswd命令,先进行安装:sudo apt install whois
3,利用Python3生成
$ python3 -c 'import crypt; print(crypt.crypt("123456", "$1$saltstri"))' $1$saltstri$nFvhLCyAliD8pi7kMTHID0
主要是注意第二个参数”$1$saltstri”,前三个字符$1$,其中1表示MD5,后面的为盐值。
参考(每次都会随机生成盐值):
$ python3 -c 'import crypt; print(crypt.mksalt(crypt.METHOD_MD5))' $1$3M2jv3BY $ python3 -c 'import crypt; print(crypt.mksalt(crypt.METHOD_SHA256))' $5$Y/tyxr5NOTE3ThKS $ python3 -c 'import crypt; print(crypt.mksalt(crypt.METHOD_SHA512))' $6$MN1T5Wiio7XtVdym
参考:
https://docs.python.org/3/library/crypt.html
https://cellux.github.io/articles/diy-linux-with-buildroot-part-1/
http://www.armadeus.org/wiki/index.php?title=How_to_set_the_default_root_password
https://www.cnblogs.com/diantong/p/10229900.html
https://blog.csdn.net/weixin_42311979/article/details/116812717
https://unix.stackexchange.com/questions/81240/manually-generate-password-for-etc-shadow
网友评论已有0条评论, 我也要评论