Apache-2.2
在 Ubuntu 10.04 LTS 上為 www-data 使用者設置 umask(通過 sudo 執行)
我在 Ubuntu 10_04 LTS 上以使用者 www-data 的身份執行 apache。我已經使用 ‘umask 002’ 設置了 /etc/apache2/envvar,以便守護程序創建的任何新文件/目錄都啟用了組寫入權限。有時,我需要從命令行創建文件/目錄,所以我執行“sudo -u www-data”命令,但我不知道如何讓這些命令在創建時啟用組寫入權限。
在 /etc/passwd 中,Ubuntu 的主目錄列為“/var/www”。因此,根據 ubuntu 文件(https://help.ubuntu.com/community/EnvironmentVariables),我嘗試將“umask 002”添加到以下位置:
/var/www/.profile
/var/www/.bashrc
/var/www/.bash_profile
/var/www/bash_login
以及全域環境文件:
/etc/環境
/etc/bash.bashrc
即使在所有這些文件中添加“umask 002”並重新啟動後,執行“sudo -u www-data touch testfile”也會產生“-rw-r–r–”權限。(我嘗試將 www-data shell 設置為 /bin/sh 和 /bin/bash。)
有什麼方法可以設置“sudo -u www-data”命令將創建啟用組寫入權限的項目?
您是否嘗試過通過
/etc/sudoers
自己設置它?根據sudoers(5)
:umask_override If set, sudo will set the umask as specified by sudoers without modification. This makes it possible to specify a more permissive umask in sudoers than the user's own umask and matches historical behavior. If umask_override is not set, sudo will set the umask to be the union of the user's umask and what is specified in sudoers. This flag is off by default.