Linux 创建个人网站并加密访(二)

本文介绍了如何在Linux系统中利用Apache开启个人用户主页功能,并解决因SELinux导致的访问错误。通过设置SELinux策略允许Apache服务个人用户主页,然后使用htpasswd命令生成密码数据库,实现对个人网站的密码验证,增强安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二、个人用户主页

Apache服务程序中有个默认未开启的个人用户主页功能,能够为所有系统内的用户生成个人网站,确实很实用哦~
1、开启个人用户主页功能

vi /etc/httpd/conf.d/userdir.conf

编辑如下:

将第17行的UserDir disabled前加一个#,代表该行被注释掉,不再起作用。
将第24行的UserDir public_html前的#号去除,表示该行被启用。
注意:UserDir参数表示的是需要在用户家目录中创建的网站数据目录的名称(即public_html)
重启Apache服务程序:
systemctl restart httpd

2、:创建个人用户网站数据。
切换至普通用户test的家目录:

[root@linuxprobe home]# su - test

创建网站数据目录public_html:

mkdir -p /home/test/public_html

写入首页文件内容:

echo "This is test's website" > /home/test/public_html/index.html

给予网站目录755的访问权限:

[linuxprobe@linuxprobe ~]$ chmod -Rf 755 /home/test

我们打开浏览器,访问地址为”http://10.0.101.100/~test“,不出意外果然是报错页面,肯定是SELinux服务在捣蛋。
3、设置SELinux允许策略。(root权限下)

这次报错并不是因为用户家的网站数据目录SELinux安全上下文没有设置了,而是因为SELinux默认就不允许Apache服务个人用户主页这项功能。

查看并搜索所有与家目录有关的SELinux策略:

getsebool -a | grep home

返回如下:

ftp_home_dir --> off
git_cgi_enable_homedirs --> off
git_system_enable_homedirs --> off
httpd_enable_homedirs --> off
mock_enable_homedirs --> off
mpd_enable_homedirs --> off
openvpn_enable_homedirs --> on
samba_create_home_dirs --> off
samba_enable_home_dirs --> off
sftpd_enable_homedirs --> off
sftpd_write_ssh_home --> off
spamd_enable_home_dirs --> on
ssh_chroot_rw_homedirs --> off
tftp_home_dir --> off
use_ecryptfs_home_dirs --> off
use_fusefs_home_dirs --> off
use_nfs_home_dirs --> off
use_samba_home_dirs --> off
xdm_write_home --> off

将个人用户网站功能策略设置为允许:

setsebool -P httpd_enable_homedirs=on 等号两边不能有空格

刷新浏览器访问linuxprobe用户的个人网站,果然成功了,奥利结
4、增加密码安全验证

有时候并不希望所有人都可以留意访问到自己的个人网站,那就可以使用Apache密码口令验证功能增加一道安全防护吧。

使用htpasswd命令生成密码数据库(-c参数用于第一次生成):

htpasswd -c /etc/httpd/passwd test
New password:
Re-type new password:
Adding password for user test

编辑配置文件开启密码验证(具体参数见下):

vi /etc/httpd/conf.d/userdir.conf

编辑如下:

*将31-35行之间的内容替换成如下*
AllowOverride  all
authuserfile  /etc/httpd/passwd
authname "My privately Website"
authtype  basic
require user test

重启服务

systemctl restart httpd

再次浏览页面,显示需要用户和密码登录,这样我们就成功了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值