加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 在/ var / www中处理Apache 2用户www-data权限的最佳方

发布时间:2020-12-13 18:52:11 所属栏目:Linux 来源:网络整理
导读:有没有人有一个很好的解决方案来处理/ var / www中的文件?我们正在运行基于名称的虚拟主机,Apache 2用户是www-data. 我们有两个普通用户根.所以当搞乱/ var / www中的文件时,而不是…… chown -R www-data:www-data ……一直以来,处理这个问题的好方法是什
有没有人有一个很好的解决方案来处理/ var / www中的文件?我们正在运行基于名称的虚拟主机,Apache 2用户是www-data.

我们有两个普通用户&根.所以当搞乱/ var / www中的文件时,而不是……

chown -R www-data:www-data

……一直以来,处理这个问题的好方法是什么?

补充问题:你是如何获得权限的硬核?

这一直是协作开发环境中的一个问题.

解决方法

尝试扩展@ Zoredache的 answer,我自己给出了一个:

>创建一个新组(www-pub)并将用户添加到该组

groupadd www-pub

usermod -a -G www-pub usera ##必须使用-a附加到现有组

usermod -a -G www-pub userb

groups usera ##显示用户组
>将/ var / www下所有内容的所有权更改为root:www-pub

chown -R root:www-pub / var / www ## -R for recursive
>将所有文件夹的权限更改为2775

chmod 2775 / var / www ## 2 =设置组ID,7 = rwx为所有者(root),7 = rwx为组(www-pub),5 = rx为world(包括apache www-data用户)

设置组ID(SETGID)位(2)会将组(www-pub)复制到该文件夹??中创建的所有新文件/文件夹.其他选项是SETUID(4)来复制用户ID,而STICKY(1)我认为只允许所有者删除文件.

有一个-R递归选项,但不会区分文件和文件夹,所以你必须use find,如下所示:

find / var / www -type d -exec chmod 2775 {}
>将所有文件更改为0664

find / var / www -type f -exec chmod 0664 {}
>将用户的umask更改为0002

其他umask控制默认文件创建权限,0002意味着文件将有664和目录775.设置此项(通过编辑/ etc / profile底部的umask行),意味着一个用户创建的文件可由其他用户写入www-group中的用户无需chmod他们.

通过创建文件和目录并使用ls -l验证所有者,组和权限来测试所有这些.

注意:您需要注销/以更改组才能生效!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读