[英]Best practices for linux user permissions to run web application as?
我在網上看到了許多不同的建議,關於在哪里為你的web應用程序提供服務,用什么用戶來運行它等等。
例如,我見過它來自:/ var / www / site,/ srv / www / site,/ home / $ USER / site。
我已經看到用戶是www-data,$ USER(即我的用戶帳戶),或者是專門為此目的創建的自定義用戶(例如用戶uwsgi)。
在安全性方面,我可以選擇的最佳方案是什么?
作為參考,我正在嘗試使用Nginx和uwsgi部署Django站點。
現在,uwsgi在emperor模式下以root身份運行,uid / gid設置為www-data,因此vassals以與Nginx worker相同的權限生成。 我在家里服務,但想着搬家。
對於位置,選擇最適合您的位置。 以下是一些需要幫助的注意事項:
/var
下的位置適用於大小變化的文件,或者通常是“變量”的文件。 /srv
通常表示與計算機上運行的某些服務相關的文件。 /home
通常應保留給交互式用戶。 但是,您可以將系統用戶的主目錄設置為任何內容。 為了安全起見,您應該盡可能地進行細分。 應用程序不應該與Web服務器作為同一用戶運行,因此不能濫用它來讀取與服務器本身相關的敏感文件( .htaccess
或其他)。 應用程序的二進制文件(或Django,python源)應由root擁有,而無需對應用程序用戶的寫訪問權。
這是關於如何設置它的2美分:
/usr/lib/appname/
或/usr/lib/python/site-packages/appname/
如果已安裝。 由root擁有,chmod 644。 /var/lib/appname/
。 由app-user擁有,chmod 600。 /bin/nologin
,home是/var/lib/appname/
。 用戶沒有配置密碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.