ubuntu 服务器子账户密码修改,ubuntu server下 web 配置站点访问用户和密码进行授权访问...

nginx提供了ngx_http_auth_basic_module 模块实现让用户只有输入正确的用户名密码才允许访问web内容。默认情况下,nginx 已经安装了该模块。我们只需要给配置一个用户名和密码的文件,就可以实现所需功能。

这里要用到一个加密工具htpasswd,它是包含在apache2-utils包中,如果web服务用的是apache2那么它默认是安装的,我们目前使用的web服务是nginx,所以需要安装这个工具包。在命令行中输入 htpasswd 系统会提示 这个软件是在 apache2-utils包中,我们安装sudo apt install apache2-utils

利用 htpasswd设置 用户名和密码存放配置文件htpasswd -c /etc/nginx/passwd test

输入上面这个 命令后,会提示我们输入两次密码,我们给用户test配置密码即可。完了,可以使用cat查看下我们创建的passwd文件,这个是包含用户名 和加密密码的一个文件。

修改nginx 的配置文件  server{}中添加 如下两行

#新增下面两行

auth_basic "Please input password"; #这里是验证时的提示信息

auth_basic_user_file /etc/nginx/passwd;server {

listen 443 ssl;

listen [::]:443 ssl;

root /home/sinoll/htdocs;

server_name domain.com;

charset utf-8;

auth_basic "Please input password"; ##这里是验证时的提示信息

auth_basic_user_file /etc/nginx/passwd;

ssl on;

ssl_certificate         /etc/letsencrypt/live/domain.com/fullchain.pem;

ssl_certificate_key     /etc/letsencrypt/live/domain.com/privkey.pem;

ssl_session_timeout 5m;

location / {

## 开启目录浏览 #

autoindex on;

autoindex_exact_size off;      ## 显示文件大概大小, on 为 确切大小,单位是bytes #

autoindex_localtime on;      ## 显示文件服务器时间, off 为GMT时间 #

try_files $uri $uri/ =404;

}

}

检查nginx配置文件并 重启 nginx 。sudo nginx -t

sudo service nginx restart

测试,如果输错密码的话,nginx会提示401错误,没有授权。这样我们希望的输入密码才能访问的功能就实现了。

如果我们的web服务器是 apache2的,那么就需要如此

开启.htaccess文件支持sudo a2enmod rewrite

配置参考

Options Indexes FollowSymLinks

AllowOverride All

Require all granted

另外在 需要保护的文档目录下写上.htaccess文件 内容基本是

authname "please input username and password!"

authtype basic

authuserfile /etc/nginx/passwd

require valid-user

参考:

htpasswd命令是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用户基本认证的密码文件。

语法

htpasswd(选项)(参数)

选项

-c:创建一个加密文件;

-n:不更新加密文件,只将加密后的用户名密码显示在屏幕上;

-m:默认采用MD5算法对密码进行加密;

-d:采用CRYPT算法对密码进行加密;

-p:不对密码进行进行加密,即明文密码;

-s:采用SHA算法对密码进行加密;

-b:在命令行中一并输入用户名和密码而不是根据提示输入密码;

-D:删除指定的用户。

参数

用户:要创建或者更新密码的用户名;

密码:用户的新密码。

实例

利用htpasswd命令添加用户htpasswd -bc .passwd www.linuxde.net php

在bin目录下生成一个.passwd文件,用户名www.linuxde.net,密码:php,默认采用MD5加密方式。

在原有密码文件中增加下一个用户htpasswd -b .passwd Jack 123456

去掉-c选项,即可在第一个用户之后添加第二个用户,依此类推。

不更新密码文件,只显示加密后的用户名和密码htpasswd -nb Jack 123456

不更新.passwd文件,只在屏幕上输出用户名和经过加密后的密码。

利用htpasswd命令删除用户名和密码htpasswd -D .passwd Jack

利用htpasswd命令修改密码htpasswd -D .passwd Jack

htpasswd -b .passwd Jack 123456

即先使用htpasswd删除命令删除指定用户,再利用htpasswd添加用户命令创建用户即可实现修改密码的功能。

htpasswd命令详细参考

参考地址 https://man.linuxde.net/htpasswd

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值