我想加密我的/var/www
文件夹以便我apache
可以访问。
我该怎么做?
我试过使用ecryptfs
,但我的网站不起作用。
请写出示例,或提供手册链接。
答案1
你可以使用加密文件系统去做这个。
不过,您需要以 root 用户身份执行此操作。以下是一些可行的说明:
root@server-59314:~# ecryptfs-setup-private
Enter your login passphrase:
Enter your mount passphrase [leave blank to generate one]:
************************************************************************
YOU SHOULD RECORD YOUR MOUNT PASSPHRASE AND STORE IT IN A SAFE LOCATION.
ecryptfs-unwrap-passphrase ~/.ecryptfs/wrapped-passphrase
THIS WILL BE REQUIRED IF YOU NEED TO RECOVER YOUR DATA AT A LATER TIME.
************************************************************************
Done configuring.
Testing mount/write/umount/read...
Inserted auth tok with sig [37d1d7fcf453d9d0] into the user session keyring
Inserted auth tok with sig [974bb07127cbe922] into the user session keyring
Inserted auth tok with sig [37d1d7fcf453d9d0] into the user session keyring
Inserted auth tok with sig [974bb07127cbe922] into the user session keyring
Testing succeeded.
Logout, and log back in to begin using your encrypted directory.
然后你需要以 root 身份登录并运行ecryptfs-mount-私有。请注意,您可能希望确保 root 注销时不会卸载 /var/www。为此,只需rm -f /root/.ecryptfs/auto-umount
。
完全披露:我是 eCryptfs 项目的维护者之一。
答案2
看http://ubuntuforums.org/showthread.php?t=1655933
但是,由于密钥在启动时被解锁,您仍然不会获得任何东西,除非有人进入您的服务器大厅,取出您的磁盘,然后在没有测试的情况下尝试访问它,将磁盘放入任何其他计算机(相同架构)并尝试启动它。
您可以进行全盘加密(这是一个坏主意,因为您无法通过 SSH 解密您的计算机)或者您必须解锁加密,但最终您将得到一个无法重新启动的服务器,而不必担心事后的维护。
答案3
如果您已经加密了您的主文件夹,那么您可以轻松地指向 apache 通过符号链接读取 ~/ 内的子目录。
这就是我设置系统的方式。我在 下创建了一个符号链接,/var/www
指向我的主文件夹内的文件夹(即ln -s /home/francesco/www/default /var/www/default
)
以下是我的/var/www
内容:
root@Terminus:/var/www# ls -lah
total 8K
drwxr-xr-x 4 francesco www-data 4.0K Mar 24 14:52 .
drwxr-xr-x 15 root root 4.0K Feb 7 09:46 ..
lrwxrwxrwx 1 francesco www-data 28 Mar 24 14:52 default -> /home/francesco/www/default/
现在您应该将 apache(www-data)添加到您的组中,反之亦然:
usermod -a -G www-data francesco
usermod -a -G francesco www-data
我这样做是因为我需要从我的用户命令行启动 PHP 脚本,而 Apache 仍然需要读取和写入相同的文件(但我想你可以使用设置)。
现在你应该更改你的主文件夹权限和文档根文件夹的权限(在我的情况下~/www/default
)。请小心,不要启动修改模式命令使用主文件夹上的递归选项,仅在文档根文件夹上使用它,如下所示:
sudo chmod 0755 /home/francesco
sudo chmod -R 0755 /home/francesco/www
答案4
我建议你只加密www
文件夹中的文件,而不是加密整个文件夹。调用文件时,文件将在内存中解密。