![Raspi 上的用户和权限,既是家庭服务器又是 owncloud 服务器](https://linux22.com/image/1442026/Raspi%20%E4%B8%8A%E7%9A%84%E7%94%A8%E6%88%B7%E5%92%8C%E6%9D%83%E9%99%90%EF%BC%8C%E6%97%A2%E6%98%AF%E5%AE%B6%E5%BA%AD%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8F%88%E6%98%AF%20owncloud%20%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我是一名长期的 Linux 桌面用户,但在服务器和安全方面却是个新手。现在我想设置一个 Raspi(运行 Raspbian)来充当 CUPS 打印服务器、NFS 文件服务器和备份存储、Owncloud 服务器,甚至可能在长期内充当小型 Web 或邮件服务器。
由于我没有使用服务器的经验,我有点不确定将私人备份数据放在可以通过互联网访问的同一台机器上(例如用于 Owncloud)是否是个好主意。是否可以或需要做些什么来保护这些数据?
目前我才刚刚开始,刚刚设置了 Raspbian、CUPS 并在本地网络中设置了打印机。一切都通过 Raspbian 中预先配置的标准用户“pi”进行。配置 NFS 和 Owncloud 时应该如何进行?
谢谢你的帮助,Photon。
答案1
配置 NFS 和 Owncloud 时应如何进行?
Owncloud 是一个 PHP 应用程序,需要 MySQL 和 Apache。因此,安装并运行 Owncloud 后,您就已经在运行 Apache Web 服务器了。
Apache 可以配置为以单个本地用户身份运行,通常是www-data
。Apache(以及从外部访问您的 Web 服务器的任何用户)可以接触并可能提供服务的每个文件都必须由www-data
用户或www-data
组访问。
PHP 是一个模块,当用户点击 PHP 脚本时,Apache 会调用该模块。PHP 将以与 Apache 相同的用户身份运行。但是,PHP 可以尝试访问系统上的任何文件。如果权限阻止它,它将不会成功 - 即,除非用户www-data
或组可以访问该文件(假设默认)。
如果 PHP 应用程序编写得不好,可能会受到攻击,让用户浏览 PHP 可以访问的任何文件。黑客可能会尝试执行的操作之一是向 PHP 脚本发送格式错误的查询,并使其返回/etc/passwd
或可能是其他世界可读的配置文件的内容/etc
。现在,这不会对您的系统造成严重损害,但可能会向攻击者提供有关有效帐户的信息,如果他们试图以某种方式破解本地帐户,这可能会对他们有所帮助。
OwnCloud 已经存在了一段时间,因此它相对成熟并且经过了现场测试,但要注意一点:要保持更新。
Apache 本身可以限制文件通过文件提供.htaccess
,但这是 Apache 强制执行的,而不是 Linux。 .htaccess
文件不控制 PHP 脚本可以查看什么,只控制哪些文件可以通过浏览器的直接 HTTP 请求提供。
所以:
跟上操作系统更新。
实际上,您应该在单独的物理(或虚拟)系统(另一个 pi)上运行 Owncloud。但是,如果您只是在试验或测试,或者对与谁共享 Owncloud IP 持谨慎态度,那么应该相对没问题。
留意你的网络服务器日志(
/var/log/apache2
在 Debian 上)。你可以查看goaccess
它,它会给你一些容易理解的报告。您在 Owncloud 以及整个系统中存储的数据应定期备份,并在系统外保留一份副本。
您不希望被 Owncloud 或网络服务器看到的文件应该具有拒绝
www-data
组和用户访问的权限。
答案2
我已经使用以下方法在“监狱”中设置了 Owncloud:http://tech-blog.clericare.com/2013/08/how-to-deploy-owncloud-with-postgresql.html