linux中htpasswd 命令用法

在你想要限制用户的访问目录下加上下面两行

 代码如下 复制代码

auth_basic “enter username and password “;
auth_basic_user_file  nginx_passwd;

htpasswd 限制

在Windows和MPE平台上, 由htpasswd加密的密码的长度上限是255个字符。 太长的密码会被截断为255个字符。
htpasswd使用的MD5算法是专供Apache软件使用的; 其加密的密码不能为其他网站服务器所使用。
用户名的长度上限是255个字节,并不能包含字符

apache htpasswd命令用法举例

 代码如下 复制代码
htpasswd /usr/local/etc/apache/.htpasswd-users jsmith

此例增加或修改了用户jsmith的密码。程序会给出提示要求输入密码。 如果在Windows系统中运行,此密码将以专为

Apache修改过的MD5算法加密; 在其他平台上,则使用系统函数crypt()。 如果文件不存在,则htpasswd不作任何操

作并返回一个出错代码。

 代码如下 复制代码
htpasswd -c /home/doe/public_html/.htpasswd jane

此例建立一个新的文件,并在其中为用户jane存储一个记录。 程序会给出提示要求输入密码。如果文件存在但是不能

读或写, 则htpasswd会显示一个消息并返回一个出错代码。

 代码如下 复制代码
htpasswd -mb /usr/web/.htpasswd-all jones Pwd4Steve

使用MD5算法加密从命令行得到的密码(Pwd4Steve),并存储在指定的文件中。

关于htpasswd参数

apache htpasswd命令选项参数说明
-b
使用批处理方式; 即, 从命令行中获得密码,而不显示提示要求输入。 此选项的使用应该极为谨慎,因为命令行中的

密码是清晰可见的。
-c
建立passwdfile文件。如果passwdfile已经存在,则它被重写并截断。 此选项不能与-n选项同时使用。
-n
在标准输出设备上显示结果,而不更新文件。 用于生成可以为Apache非文本输出存储格式所接受的密码记录。 此选

项在命令行中的语法有所改变,因为passwdfile参数(通常是第一个)被省略了。 此选项不能与-c选项同时使用。
-m
使用MD5加密密码。在Windows, Netware 和TPF上,这是默认的。
-d
使用crypt()加密密码。在除了Windows, Netware和TPF的平台上,这是默认的。 虽然它在所有平台上可以为htpasswd

所支持, 但是在Windows, Netware和TPF上不能为httpd服务器所支持。
-s
使用SHA加密密码。 它是为了方便转入或移植到使用LDAP Directory Interchange Format (ldif)的Netscape而设计

的。
-p
使用纯文本的密码。虽然在所有平台上htpasswd都可以建立这样的密码, 但是httpd后台只在Windows, Netware和TPF

上支持纯文本的密码。
passwdfile
包含用户名和密码的文件的名称。 如果使用了-c,而此文件不存在则建立,如果已经存在,则重写并截断此文件。
username
需要在passwdfile中建立或更新的用户名。 如果此文件中username不存在,则增加一项,如果已经存在,则改变其密

码。
password
将被加密并存储到文件中的纯文本的密码。仅用于和-b选项同时使用。

返回值

如果htpasswd成功地在passwdfile中增加或修改了用户名和密码, 则其返回值是0(“真”); 如果存取文件发生某种

错误,则返回1; 如果命令行语法有问题,则返回2; 如果进入交互状态而两次输入的密码不相同,则返回3; 如果

操作被中断,则返回4; 如果一个值太长(用户名、文件名、密码或者最后得到的记录长度),则返回5; 如果用户名

包含非法字符(见Restrictions section),则返回6。

为目录或网站加上密码认证

例如:基于整个网站的认证,auth_basic在php解释之前。

 代码如下 复制代码

server {
    listen       80;
    server_name www.111cn.net 111cn.net;
    root  /www/akii;
    index index.html index.htm index.php;
 
    auth_basic "input you user name and  password";
    auth_basic_user_file /usr/local/nginx/conf/vhost/nginx_passwd;
 
    location ~ .php$ {
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi_params;
    }
    location ~ /.ht {
         deny  all;
    }
    access_log /logs/111cn.net_access.log main;
}

 

针对目录的认证,在一个单独的location中,并且在该location中嵌套一个解释php的location,否则php文件不会执

行并且会被下载。auth_basic在嵌套的location之后

 代码如下 复制代码

server {
    listen       80;
    server_name www.111cn.net 111cn.net;
    root  /www/akii;
    index index.html index.htm index.php;
 
    location ~ ^/admin/.* {
        location ~ .php$ {
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi_params;
        }
 
        auth_basic "auth";
        auth_basic_user_file /usr/local/nginx/conf/vhost/auth/admin.pass;
    }
 
    location ~ .php$ {
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi_params;
    }
 
    location ~ /.ht {
         deny  all;
    }
    access_log /logs/111cn.net_access.log main;
}

友情提示:htpasswd使用专为Apache作了修改的MD5或系统函数crypt()加密密码。 htpasswd所管理的文件可以包含两

种类型的密码; 有些用户的密码使用MD5加密的,而同一个文件中的其他用户是用crypt()加密的。

时间: 2024-10-25 18:46:14

linux中htpasswd 命令用法的相关文章

Linux中tail命令用法详解_Linux

tail命令也是一个非常常用的文件查看类的命令,今天就为大家介绍下Linux tail命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux tail命令主要用来从指定点开始将文件写到标准输出.很多人喜欢使用tail –f 来监控日志文件. 一.Linux tail命令格式 Linux tail命令 格式如下所示 tail [OPTION]... [FILE]... Linux tail命令 参数如下所示 -f 循环读取 -q 不显示处理信息 -v 显示详细的处理信息 -c

linux中uptime命令用法介绍

uptime命令用法十分简单:直接输入uptime即可. 另外还有一个参数  -V ,是用来查询版本的. (注意是大写的字母v) [linux @ localhost]$ uptime –V procps version 3.2.7 [linux @ localhost]$ uptime 显示结果为: 10:19:04 up 257 days, 18:56,  12 users,  load average: 2.10, 2.10,2.09 显示内容说明: 10:19:04           

linux中whereis命令用法与which区别

whereis语法 whereis [ -s ] [ -b ] [ -m ] [ -u ] [ { { -S | -B | -M } Directory ... }... -f ] 要找的文件名. 补充说明:whereis指令会在特定目录中查找符合条件的文件.这些文件的属性应属于原始代码,二进制文件,或是帮助文件. 描述 whereis 命令找到指定文件的源.二进制文件和手册等各部分.提供的名称首先去除前导路径名组件和任何(单个的)格式为 .ext 的尾随扩展名(例如,.c).由于使用源代码控制

linux中ls命令用法详解

ls 普通文件: -,f 目录文件: d 链接文件(符号链接): L 设备文件: 字符设备:c 块设备:b 命名管道: p 套接字文件: s linux文件时间戳 时间分为三种类型:创建时间, 修改时间:open 访问时间:读写 改变时间:源数据发生改变时间 在linux中同目录中,目录和文件是不能同名的 ls :列出目录内容 ls -a查看所有文件 [root@docker-node1 scripts]# ls -a .  ..  cmdline-jmxclient-0.10.3.jar  j

linux中dd命令用法详解

使用权限: 所有使用者dd 这个指令在 manual 里的定义是 convert and copy a file 使用方式: dd [option] 如果你想要在线看 manual, 可以试试: dd --help 或是 info dd 如果你想要看看这个版本如何: dd --version 输入或输出 dd if=[STDIN] of=[STDOUT] 强迫输入或输出的Size为多少Bytes bs: dd -ibs=[BYTE] -obs=[SIZE] 强迫一次只做多少个 Bytes cbs

Linux中colrm命令用法

  NAME colrm命令也算shell中比较常见的命令,用法比较简单从指定的文件移除或过滤指定的列. SYNOPSIS colrm [startcol [endcol ] ] DESCRIPTION Colrm命令能从一个文件中移除指定的列,从一个标准的input文件中提供输入,输出同样为标准输出. EXAMPLE 假如: 文件:text.file 内容:123456789 例1. $ colrm 4 < test.file 那么test.file中的内容为: 123 #从第四列开始全部移除

Linux中vi命令用法详解

vi存在两种模式: 指令模式和输入模式.在指令模式下输入的按键将做为指令来处理:如输入 a,vi即认为是在当前位置插入字符.而在输入模式下,vi则把输入的按键当作插入的字符来处理.指令模式切换到输入模式只需键入相应的输入命令即可(如a,A),而要从输入模式切换到指令模式,则需在输入模式下键入ESC键,如果不晓得现在是处於什麽模式,可以多按几次 [ESC],系统如发出哔哔声就表示已处于指令模式下了. 付:在指令模式进入输入模式的指令: 新增 (append) a :从光标所在位置後面开始新增资料,

linux中Shell命令用法入门教程

什么时候使用Shell 因为Shell似乎是各UNIX系统之间通用的功能,并且经过了POSIX的标准化.因此,Shell脚本只要"用心写"一次,即可应用到很多系统上.因此,之所以要使用Shell脚本是基于:     简单性:Shell是一个高级语言:通过它,你可以简洁地表达复杂的操作.     可移植性:使用POSIX所定义的功能,可以做到脚本无须修改就可在不同的系统上执行.     开发容易:可以在短时间内完成一个功能强大又妤用的脚本. 但是,考虑到Shell脚本的命令限制和效率问题

linux中useradd命令用法

命令: useradd 添加用户 adduser 添加用户 passwd 添加密码 usermode 修改用户信息 chsh 修改用户shell chage 修改账号日期 chfn 修改用户信息 userdel 删除用户 groupadd 添加组 groupmde 修改组 groupdel 删除组 newgrp 切换基本组 systemd-network:!!:16982:::::: 用户名:密码占位符:UID:基本组ID:用户备注信息:用户家目录:默认shell 当一个用户创建完成后会将/et