引言:在Linux系统中我们要向手动生成一个密码可以采用opensll passwd来生成一个密码作为用户账号的密码。Linux系统中的密码存放在/etc/shadow文件中,并且是以加密的方式存放的,根据加密方式的不同,所产生的加密后的密码的位数也不同。
选项说明:
示例:
/etc/nginx/.htpasswd
换成你自己的文件存放路径
sudo sh -c "echo -n 'user:' >> /etc/nginx/.htpasswd" # user就是你要登陆的用户名 sudo sh -c "openssl passwd -apr1 >> /etc/nginx/.htpasswd" # 接下来会提示你输入密码和确认密码
系统将提示您创建密码。接下来,打开你的 Nginx 配置文件,并在 location / { 下添加这两行:
location / { auth_basic "Restricted Content"; auth_basic_user_file /etc/nginx/.htpasswd; ...
将生成的密码串,手动添加到/etc/shadow
中就可用作用户的登陆密码了。
关于openssl passwd文件,它生成的密码可以直接复制到/etc/shadow文件中,但openssl passwd因为不支持sha512,所以密码强度不够。如果要生成sha512的密码,可以使用grub-crypt生成,它是一个python脚本,只不过很不幸CentOS 7只有grub2,grub-crypt命令已经没有了。
带你深入了解nginx基本登录认证(包含所有配置步骤和深度解析)
带你深入了解nginx基本登录认证:使用htpasswd生成密码
带你深入了解nginx基本登录认证:使用openssl生成密码
带你深入了解nginx基本登录认证:使用python生成密码