在 Ubuntu 10.04 LTS 上为 www-data 用户设置 umask(通过 sudo 运行)

在 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”命令能够创建启用了组写权限的项目?

答案1

您是否尝试过通过其本身进行设置/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.

相关内容