Permissions

一堆關於 Web 伺服器的權限問題(Cherokee)

  • October 26, 2011

我是 Linux 管理新手,我正在配置 Cherokee Web 伺服器。

我正在使用 Archlinux,所以我有一個擁有 /srv/http 的 http 使用者。另一方面,我在 http 組中有一個名為“jesus”的使用者。

Cherokee is working with user and group http (http:http)

所以我對 /srv/http 做了一些修改。我向組添加了寫入權限,並更改了所有者和組,例如:

drwxrwxr-x  3 jesus http 4096 Oct 25 14:00 http

這就像是:

所以現在python可以在那裡寫他的.pyc文件(我認為cherokee告訴python創建它,因為cherokee能夠在那裡寫)。

我的問題是:這個權限的東西是否正確?有人告訴我,該組不應該有寫權限,如果我有 http 文件夾(和我的網站)會更好,例如:

drwxr-xr-x  3 http http 4096 Oct 25 14:00 http

所以 cherokee 將能夠在裡面寫入,因為 http 擁有該文件夾。

嗯,我很困惑。

那麼,我的 http 文件夾和其中的所有內容應該擁有哪些權限,以及應該擁有哪些使用者和組?

我只需要我的個人網站在沒有重大安全問題的情況下執行:P

謝謝!

PS:也許這有關係。當python創建他的.pyc文件時,它們是-rw-r–r–。這也正確嗎?

另一方面,我在 http 組中有一個名為“jesus”的使用者。

我用於訪問系統 (ssh) 的使用者也正在執行 ts3。我想既然網路是我的,那麼使用者就是那個。

不應將具有 shell 訪問權限的系統使用者添加到http組中。要在文件根目錄中編寫一些測試文件,您可以http使用以下命令切換到使用者:

$ sudo su - http -s /bin/bash

出於 FTP 的目的,您最好創建一個沒有 shell 訪問權限的新使用者:

$ sudo useradd -d /home/ftp/ftpu1 -s /sbin/nologin ftpu1
$ sudo usermod -a -G nobody ftpu1
$ sudo mount --bind /srv/http/web1 /home/ftp/ftpu1

或使用虛擬使用者。

文件根目錄的正確權限和所有權應該是:

drwxrwsr-x 8 http nobody 4096 Oct 17 15:36 /srv/http/

注意組執行位位置的s。這意味著該文件夾設置了SGID,新創建的文件/文件夾也具有相同的組所有權。

不要忘記將umaskApache 和 FTP 伺服器設置為 002 以使創建的文件/文件夾http可以被覆蓋,nobody反之亦然。

引用自:https://serverfault.com/questions/324682