微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Linux用户权限运行Web应用程序的最佳做法?

我在网上看到很多不同的build议,从哪里为您的Web应用程序提供服务,以及要将其运行的用户等等。

例如,我已经看到:/ var / www / site,/ srv / www / site,/ home / $ USER / site。

我已经看到用户www-data,$ USER(即我的用户帐户),或为此目的专门创build的自定义用户(例如用户uwsgi)。

在安全方面,我可以select的最好的scheme是什么?

Windows中的mac os可执行位如何保存?

Hudson作为Windows上的服务 – 文件系统权限

PowerShell拒绝加载任何本地PS1脚本的目的是什么,当这是微不足道的绕过?

在windows不写入LPT1的PHP shell_exec

使用Windows IIS Server的PHP上传文件inheritance权限错误

作为参考,我试图用Nginx和uwsgi部署一个Django站点

现在,uwsgi在皇帝模式下以root身份运行,并将uid / gid设置为www-data,所以vassals与Nginx工作者具有相同的权限。 我从/家服务,但想移动。

查找目录中的所有.PHP文件与777权限

Windows系统文件的Java和NTFS权限

以非root用户身份调用外部shell脚本失败

检查用户是否具有“程序文件”的写入权限

AdjustTokenPrivileges错误6 – 处理无效

对于位置,选择什么似乎最适合你。 以下是一些帮助的注意事项:

/var下的位置是用于大小改变的文件,或者通常是“可变的”。

/srv通常表示与机器上运行的某些服务相关的文件

/home通常应该保留给交互式用户。 不过,您可以将系统用户的主目录设置为任何内容

为了安全起见,你应该尽可能的分割。 该应用程序不应该作为Web服务器的相同用户运行,以便它不能被滥用读取有关服务器本身( .htaccess或其他)的敏感文件。 应用程序的二进制文件(或Django,python源文件)应该由root用户拥有,而无需对应用程序用户进行写入访问。

这是我的2分钱如何设置它:

Django应用程序: /usr/lib/appname/或/usr/lib/python/site-packages/appname/如果已安装。 拥有根,chmod 644。

应用程序的文件(例如sqlite数据库文件,用于FastCGI的Unix套接字,上传文件存储等): /var/lib/appname/ 。 拥有应用程序用户,chmod 600。

app-user的shell是/bin/nologin ,home是/var/lib/appname/ 。 用户没有配置密码

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐