服务器文件夹设置访问密码,Apache设置文件访问密码保护

文章目录

[隐藏]

Apache访问控制

生成HTTP AUTH密码

带组的访问控制列表

虽然大多数Web服务器内容创建为可供公众使用,但您可能希望将某些或所有网站限制为特定用户或组。 HTTP Auth允许您轻松创建这些限制。

本文介绍基于凭证和基于规则的Apache访问控制工具。

Apache访问控制

要为目录启用密码,请将以下行插入Apache配置文件的相应部分。 您还可以在.htaccess文件或虚拟主机配置部分中插入身份验证信息。 所需的指令是:

Apache配置文件:

AuthType Basic

AuthUserFile /var/www/example.com/.htpasswd

AuthName "Sign In Here To Gain Access To the Site"

Require valid-user

Apache在与客户端连接时用AuthType指令指定应使用的认证方法。 Basic类型要求密码作为明文在网络上发送。 因此,我们不建议使用此来保护敏感资源。

AuthUserFile指定存储密码的密码文件的路径(完整)。 在本例中,我们使用路径/var/www/example.com/.htpassword。 这是public_html文件夹之上的一个目录,防止意外暴露文件。 默认情况下,以.ht开头的所有文件在Apache的大多数默认配置中都不是Web可访问的,但不应假定。

AuthName指令包含用于浏览器通知用户服务器正在验证什么资源的提示。 该值是任意的。

Require valid-user告诉Apache任何有效的用户都可以进行身份验证。

生成HTTP AUTH密码

要生成密码,我们需要htpasswd工具。 对于许多发行版,此工具可能在您安装Apache本身时已安装。 Debian和Ubuntu用户必须使用以下命令安装apache2-utils软件包:

sudo apt-get install apache2-utils

要指定用户创建文件,执行以下命令:

htpasswd -c /var/www/example.com/.htpasswd username

在本例中,我们使用-c选项创建一个新的AuthUserFile。 该文件位于/var/www/example.com/.htpasswd,用户名为username。 htpasswd将提示您输入密码,然后确认密码。 如果文件存在,请用-c选项覆盖。

-b选项允许您把密码作为命令的最后一个参数,如下例所示:

htpasswd -b /srv/auth/.htpasswd username 5t1ck6

AuthUserFile类似如下:

/var/www/example.com/.htpasswd

hobby:isiA3Q4djD/.Q

admin:{SHA}x9VvwHI6dmgk9VTE0A8o6hbCw2s=

username:$apr1$vVzQJxvX$6EyHww61nnZr6IdQv0pVx/

带组的访问控制列表

在Require指令中,我们指定了valid-user。 这告诉Apache,任何可以对AuthUserFile中指定的用户进行身份验证的用户都可以访问该网站。 虽然可以为不同的资源维护单独的密码文件,但对于具有复杂身份验证需求的部署,这是很难维护的。

为了满足这一需求,Apache允许您使用单个AuthUserFile,包含需要向服务器进行身份验证的所有用户。 要将有效凭据集限制到.htpasswd文件中列出的特定用户子集,我们必须在Require配置参数中指定用户。 只有在Require user指令后指定的用户才能被允许访问指定的资源。 例如:

Apache配置文件选项:

Require user username admin

给定这个指令,用户username和admin将能够登录资源。 可以在Require行上指定任何用户子集。 Apache还提供了将用户组织成组的能力,然后允许基于组成员资格访问资源。 此设置的配置指令如下所示:

Apache配置文件:

AuthType Basic

AuthUserFile /srv/auth/.htpasswd

AuthGroupFile /srv/auth/.htgroup

Require group Authorized

在这个例子中,我们引用了相同的AuthUserFile,但是我们添加了一个指定用户组的AuthGroupFile。 组文件包含用户组列表和与每个组相关联的用户名。 htgroup文件(如htpasswd文件)可以位于文件系统上的任何位置。 为了清晰起见,我们建议htgroup与htpasswd文件在同一目录中。 这里是一个htgroup文件的例子:

/var/www/example.com/.htgroup:

Authorized: username username2

Team: admin hobby

给定此htgroup文件,只有用户username和username2将有权访问上面列出的资源。 组文件的语法遵循一个简单的[groupname]:[username 1] [username 2] […]。 您可以将您的AuthUserFile中的任何用户名作为特定资源所需的组条目。

Apache设置文件访问密码保护

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
设置SVN服务器密码,具体步骤取决于您使用的服务器操作系统和SVN服务器软件。以下是一些一般的步骤: 1. 登录SVN服务器的操作系统。 2. 找到SVN服务器的配置文件。对于Apache服务器,配置文件通常位于/etc/httpd/conf.d/目录下的svn.conf文件中。对于VisualSVN服务器,配置文件通常位于安装目录下的conf文件夹中的httpd.conf文件中。 3. 打开配置文件并找到与认证相关的部分。在这个部分,您可以设置用户名和密码。 4. 根据配置文件的语法,在合适的位置添加或修改用户名和密码。通常,您可以使用htpasswd工具创建用户名和密码。例如,对于Apache服务器,可以使用以下命令创建用户名为"admin",密码为"password"的用户: htpasswd -c /etc/httpd/conf.d/svn.passwd admin 这个命令将创建一个名为svn.passwd的文件,并将用户名和密码添加到其中。 5. 保存配置文件并重新启动SVN服务器以使更改生效。 6. 现在,您可以使用设置的用户名和密码访问SVN服务器了。 请注意,这只是一般的步骤,实际的步骤可能因您使用的SVN服务器软件和操作系统而有所不同。请参考您所使用的SVN服务器的文档或官方指南以获取更详细的信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [svn服务器修改密码](https://blog.csdn.net/weixin_39976382/article/details/119555627)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值