Linux的权限(LAMP)

我正在尝试在/ var / www中使用安全权限configurationLinux服务器。 我读过,你不应该由于各种原因将你的用户帐户添加到www-data组。 相反,最好(我被告知)要创build一个独立的开发人员组。

以下是我想到的:

group add developers usermod -a -G developers my_account chown -R root:developers /var/www find /var/www/ -type d -exec chmod 775 {} \; find /var/www -type d -print | xargs chmod g+rwxs find /var/www/ -type f -exec chmod 664 {} \; 

另外,编辑/ etc / apache2 / envvars并添加:

 umask 002 

问题:

(一个)。 这合理安全吗? (b)中。 这是多余的吗? (C)。 这个设置是否需要更改默认的umask? 如果是这样,到什么?

Solutions Collecting From Web of "Linux的权限(LAMP)"

在冗余方面,这些线路几乎相互重复:

 find /var/www/ -type d -exec chmod 775 {} \; find /var/www -type d -print | xargs chmod g+rwxs 

第一个设置所有权限,第二个只是改变组权限。 对于这一部分,除了粘性位之外,它将所有设置都设置为与第一个相同。

我建议使用前者(因为这设置权限绝对),但修改它包括粘滞位,使用以下任一:

 find /var/www/ -type d -exec chmod 2775 {} \; 

或者可选地:

 find /var/www -type d -print | xargs chmod 2775 

他们完全一样,但是第二个更有效率:前者为每个文件调用chmod ,后者在一组文件上调用chmod ,所以chmod经常启动chmod

在umask上,我假设您希望开发人员组具有写入权限,但文件的全球可读性? 在这种情况下,你需要umask 002 。 我不知道你的默认的umask是什么,所以不知道这是否需要改变。