在多用户环境,比如运行一个Web服务器可以有很大的帮助,如果你要允许每个用户有自己的个人网站,可以在自己的家中被托管的Zentyal PDC Active Directory中 。
上Zentyal 3.4 网络服务器模块可以被配置为激活用户公共HTML和与一些Linux BASH脚本的帮助下,以动态生成的网页一些内容和发送的用户需要在其登录到域信息。
启用Userdir密码保护目录
此外Apache船舶长时间使用与安全相关的另一个功能提供的内容,这是密码保护的web目录中最简单的形式之一,只需使用.htaccess文件,并创建访问资源所需的用户列表,甚至保护来自搜索引擎抓取工具的网页内容。
要求
第1步:启用用户公共Html
1.登录到您的Zentyal PDC网络管理工具使用https:// zentyal_ip。
2.导航到Web服务器模块 - >选中启用对端用户的public_html,打在更改按钮,然后保存修改。
启用用户公共Html
3.打开浏览器并输入URL提交以下内容:http://mydomain.com/~your_username。
Apache禁止错误
正如您所看到的,Apache没有访问每个用户目录或索引用户主目录的权限。 为了解决这一问题,我们必须提供WWW的数据上的/ home / $ USER目录执行权限,并创造条件,用户路径的public_html文件夹中。
为简单起见,我们将编写创建public_html目录,使所有系统用户正确权限的Linux的Bash脚本一点点,自动生成HTML网页,为所有用户提供一个有效的主目录和另一个脚本,这个时候一个Windows巴赫的脚本,这将链接它默认域GPO让每一位用户将登录后从Windows系统中域凭据加入到域他的个人网站被提示。
4.要完成此任务登录使用PuTTY与系统安装创建了Zentyal管理帐户Zentyal服务器 ,并使用您喜欢的文本编辑器的第一个脚本。 我们将其命名为“ 用户DIR-创造 ”。
# nano user-dir-creation
5.添加的“ 用户DIR-创作 ”脚本波纹管的内容。
#!/bin/bash for i in `ls /home | grep -v samba| grep -v lost+found`; do mkdir /home/$i/public_html ## Make world readable and executable, so that www-data can access it ## chmod -R 755 /home/$i chgrp -R www-data /home/$i/public_html/ ## Next code should be on a single line ## echo "<html><body style='background-color:#2DC612'><div align='center'><p><H1 style='color:#fff'>Welcome user $i on <a style='color:#fff' href='https://mydomain.com'>`hostname -f` </a></H1></p></div></body></html>" > /home/$i/public_html/index.html ## List /home/$USER permissions and public_html perm optional ## echo "......................." ls -all /home/$i echo "......................" ls -all /home/$i/public_html done;
6.保存脚本并使其可执行,然后使用root权限运行它。
# chmod +x user-dir-creation # sudo ./user-dir-creation
7.再次打开浏览器,因为它上面指向同一个URL(见第3点)。
访问域
public_html目录已创建并为所有用户生成一个HTML文件,所以现在他们都拥有一个个性化的网页(这只是一个简单的测试页面,但想象你可以与一些PHP,MySQL或CGI脚本做什么)。
8.如果Zentyal 3.4 Server也是主域控制器 ,我们可以按用户的网页制作,当用户从登录Windows主机加入到域为自动打开一个浏览器。
要启用它登录到Windows系统加入域,并创建一个名为“public_html.bat”用记事本内容如下Windows批处理脚本。
explorer http://your_domain.tld/~%username%
注 :请注意,“〜”特殊字符和%USERNAME%,这是一个Windows环境变量。
自动打开用户页面
9.打开Zentyal Web管理工具 (https://开头zentyal_IP),然后转到域 - > 组策略对象 - > 默认域策略 - > GPO编辑器 。
组策略对象
10.单击编辑 ,向下滚动到用户配置 - > 添加新的登录脚本 ,浏览关于在创建脚本和命中添加路径。
添加新登录脚本
用户配置
恭喜 ! 现在,下次您登录到域时,默认浏览器将打开与您的用户名相关的个性化网页。
第2步:密码保护Web目录
这部分需要而不能形成Zentyal Web界面 ,但只有命令行和修改一些Zentyal Apache模块模板来实现的Apache模块的更多高级配置。
如果您尝试直接修改Apache配置,就像您通常在Linux服务器上所做的那样,所有配置将丢失,因为Zentyal使用一些模板表单,在重新引导或重新启动服务后重写每个服务配置文件。
要真正保护使用Apache身份验证的Web文件夹,并永久更改的设置“AllowOverride”指令需要修改和“auth_basic”模块需要加载和Apache网络服务器启用。
11.为了使通过与root帐户Zentyal服务器上使用PuTTY命令行需要登录拳头所有配置。
12.发出以下命令启用“auth_basic”,然后重新启动zentyal Web服务。
# a2enmod auth_basic # service zentyal webserver restart
13.在加载模块是时候修改位于“ 的 / usr /共享/ zentyal /存根/ Web服务器/”路径和设置有“AllowOverride”Zentyal 的Apache虚拟主机模板。
首先备份vhost.mas文件。
# cp /usr/share/zentyal/stubs/webserver/vhost.mas /usr/share/zentyal/stubs/webserver/vhost.mas.bak
然后打开编辑器,在文件浏览底和替换的“ 允许改写 ”指令线“ 无 ”与“ 全 ”之类的截图。
启用密码保护
14.完成编辑重启Zentyal Web服务器模块应用新的变化后。
# service zentyal webserver restart
AllowOverride指令的主要目标是从使用.htacess文件每路径基础上比Apache的根用过的不同的其他文件( 在/ etc / apache2的/)动态地修改Apache的配置。
现在是时候创建一些用户,允许浏览Web内容目录密码保护。 首先,我们需要创建放置子路径之外的某个目录中的.htpasswd文件将被托管和保护。
# mkdir /srv/www/htpass # chmod –R 750 /srv/www/htpass # chgrp –R www-data /srv/www/htpass
16.现在是时候创建的.htpasswd文件,并使用htpasswd的命令添加一些用户。 当创建第一个用户加上“-c”(创建)命令切换到创建该文件,添加用户然后输入并确认用户密码。
# htpasswd –c /srv/www/htpass/.htpasswd first_user # htpasswd /srv/www/htpass/.htpasswd second_user
创建用户密码
创建用户密码
17.现在创建的.htpasswd文件,并使用MD5盐算法加密,你可以添加需要访问Web文件夹的内容需要尽可能多的用户。
htpasswd文件
18.现在让我们假设你要保护http://www.mydomain.com其他用户,然后在你的htpasswd文件创建访问那些子域网址。 为了使这种行为创造www.mydomain.com系统路径上的.htaccess文件,并添加以下内容。
AuthType basic AuthName “What ever message you want” AuthBasicProvider file AuthUserFile /path/to/.htpassd file created Require user your_user1 user2 userN
另外,还要确保.htacces文件是字可读保护。
# nano /srv/www/www.mydomain.com/.htaccess # chmod 750 /srv/www/www.mydomain.com/.htaccess # chgrp www-data /srv/www/www.mydomain.com/.htaccess
恭喜 ! 现在,您已经成功地密码保护的网站上的www.mydomain.com的子域,将提示用户输入其凭据访问的网站内容。
密码保护目录
此外,如果你想保护与已创建的凭据您的服务器上创建其他域或子域,只需复制您的子Apache的路径上的.htaccess文件,并确保WWW的数据读取权限。
与Apache的Web猪病密码保护 Zentyal Weberver的帮助下可以用一些额外的安全层揭露张贴在站点上的敏感信息,但被告知,此方法不仅保护目录,而不是文件和密码以明文通过浏览器传输所以尽量使用伪造HTTPS协议来保护被拦截的用户凭据。