聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

手动生成Linux密码

2022-02-20 11:33 浏览: 3123369 次 我要评论(0 条) 字号:

最近想给自定义的小文件系统设置一个初始账号和密码,这涉及到两个文件:
/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条评论, 我也要评论

发表评论

*

* (保密)

Ctrl+Enter 快捷回复