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

2023-11-02

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • Java根据枚举名使用反射获取枚举值

    由于前端需要根据枚举名获取实时获取枚举值 所以通过反射去得到枚举数据 一 首先我们新建一个枚举类接口 用于之后反射使用 package com littlematch enums biz 枚举值接口定义类 public interface
  • Eclipse导入工程文件后出现红叉解决方案:

    Step1 右击工程文件名 然后点击buildPath step2 点击Library 再点击JRE System Librarystep3 双击JRE System Library 选最后一个 Workspace default JRE
  • C++ 多线程:原子操作atomic

    原子操作atomic C 多线程 原子类型 有两个线程 一个要写数据 一个读数据 如果不加锁 可能会造成读写值混乱 使用std mutex程序执行不会导致混乱 但是每一次循环都要加锁解锁是的程序开销很大 为了提高性能 C 11提供了原子类型
  • 四二拍用音符怎么表示_钢琴教学:学会这3个音符!立马解决你节奏的致命问题!...

    在学习节奏之前 我们先来了解节奏是什么 以及节奏的重要性 一切协调 平衡 有次序的进行都可以称为节奏 节奏可以独立存在 而在音乐中具体表现为 用强弱相互交替 将音的长短关系组织起来 称为节奏 许多节奏的组合在音乐进行中已经形成固定的模式 而
  • 1.3编程基础之算术表达式与顺序执行 06:甲流疫情死亡率

    1 3编程基础之算术表达式与顺序执行 06 甲流疫情死亡率 总时间限制 1000ms 内存限制 65536kB 描述 甲流并不可怕 在中国 它的死亡率并不是很高 请根据截止2009年12月22日各省报告的甲流确诊数和死亡数 计算甲流在各省的
  • java web开发一个帐号同一时间只能一个人登录

    一个帐号同一时间只能一个人登录 对于一个帐号在同一时间只能一个人登录 可以通过下面的方法实现 1 在用户登录时 把用户添加到一个ArrayList中 2 再次登录时查看ArrayList中有没有该用户 如果ArrayList中已经存在该用户
  • springboot实现各种参数校验

    springboot实现各种参数校验 简单使用 Java API规范 JSR303 定义了Bean校验的标准validation api 但没有提供实现 hibernate validation是对这个规范的实现 并增加了校验注解如 Ema
  • 【JavaWeb】JSP使用Session、Cookie实现购物车

    购物界面shop jsp 初始页面 添加商品后 在session中设置属性 重定向回到shop jsp 然后根据session的内容显示结果 Cookie设置setMaxAge可以延长session的寿命 清空购物车就是清除session
  • 基于以太坊的USDT(基于ERC-20协议发行)

    这种USDT存储在以太坊地址上 相对应的 每次转账 链上转账 时 需要消耗Gas 也就是ETH 目前 市场上的USDT绝大部分是基于比特币的USDT 基于以太坊的USDT份额很低 约3 基于TRON网络TRC20协议的USDT 存储在TRO
  • 当心互联网抢了你的饭碗

    两年前 供职于帕洛阿尔托研究中心 Palo Alto Research Center 的学者布莱恩 亚瑟 Brian Arthur 做出了一项惊人预测 未来二三十年 西方数字网络履行的功能最终将相当于美国 实体 经济的规模 亚瑟写道 或者
  • Qt 信号和槽学习

    使用一个按钮按下时 我们可能想要窗口的 close 函数被调用 这个操作可以通过设置回调函数实现 但回调函数不够直观 而且容易出现参数类型错误等问题 Qt中使用的代替方案是信号和槽机制 信号和槽 当特定的事件出现时 一个信号被发出 槽函数作
  • 探索Java8——Lambda方法引用

    管中窥豹 方法引用让你可以重复使用现有的方法定义 并像Lambda一样传递它们 在一些情况下 比起使用Lambda表达式 它们似乎更易读 感觉也更自然 inventory sort Apple a1 Apple a2 gt a1 getWe
  • 数字孪生万亿市场显现,缺的不止是硬件落地

    数字孪生是从真实世界到虚拟世界的1 1映射 它通过控制虚拟世界中的生产过程和生产设备 模拟现实世界中的工业生产 更加注重 从虚拟到真实 工业元宇宙所反映的虚拟世界不仅具有现实世界的映射 而且具有现实世界中尚未实现甚至无法实现的体验和互动 这
  • Python实现发送邮件

    SMTP模块发送普通邮件 import smtplib from email mime text import MIMEText from email header import Header 发送方邮箱 msg from 授权码 pass
  • 实习周记1:跨vlan通信

    跨vlan通信 1 拓扑图 2 要求 不同vlan的两台pc通过二层交换机实现二层互通 3 命令 H3C GigabitEthernet2 0 1 port link type hybrid 把端口模式改为hydrid H3C Gigabi
  • Sybase服务无法启动

    刚刚改完数据库的最大连接数 重启服务时 却发现服务无法启动 找了大半天的原因 终于找到了 可惜不会弄 只好有网上搜索一下 发现这种问题还比较常见 服务起不来 在应用程序事件查看器中发现有如下错误 300122 The value of th
  • 工程师的基本素质

    昨天开会 印象最为深刻的是领导的这么一句话 工程师的基本素质 专注 专心 责任 放心 真的 我没有真正意识到并做到这些 所以对于人的准则的教育是必须的 要让人认识到 职责所在 用心做事 愧对自己 洗心革面矣
  • 【调制BFSK】二进制频移键控FSK的数字调制(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 相移键控 PS K 是利用载波相位直接表示
  • python给图片添加水印图片_python 给图片添加数字水印示例

    实例简介 实例截图 核心代码 coding utf 8 Spyder Editor This is a temporary script file from PIL import Image import numpy as np count

随机推荐