1
hanchengluo 2014-05-03 10:47:37 +08:00
你这样的www:abc和www:www有什么区别呢?只不过是增加了你手动改配置。
|
2
vivianthesis OP @hanchengluo 我想这样能方便我维护吧,比如博客的话上传个附件、(通过ftp)删除个附件什么的,虽然好像这种情况确实不是特别必要,除非我通过ftp移动或者删除文件。。只是还是想知道,我原来空间商是怎么做到我用web上传的东西uid和guid都变成我的用户名的呢?
|
3
iCodex 2014-05-03 14:20:11 +08:00 1
www可以理解为公共属主,所有虚拟主机都用这个属主身份执行
后端的应用程序则建议调用自己的属主身份去执行,就不会出现在线更新弹出ftp之类的东西了。 给每个用户建立uid和guid,让他们用自己的身份去执行,空间商一般搭配fastcgi吧。 |
4
vivianthesis OP @iCodex 后端的应用程序则建议调用自己的属主身份去执行---请问这个怎么调用呢?现在每个用户都是用uid和gid,但是不知道该怎么让他们用自己的身份去执行。。谢谢!
|
5
Jat001 2014-05-03 21:32:24 +08:00 1
建议楼主先搞清楚什么是所有者和组,以及 775 是什么意思。可以先看看这篇文章 http://linux.vbird.org/linux_basic/0210filepermission.php
像 apache nginx mysql php-fpm 等都有多个进程,主进程都是以 root 身份运行,子进程(也是接收请求的进程)的运行身份在其配置文件中定义。 我一般用 root 身份登录,把程序需要修改的文件设置成相应的所有者和组(比如 mysql 的数据库和日志文件、wordpress 等程序的缓存和上传目录),像配置文件和其他纯静态文件等一律 root:root,权限一般 644 就可以。 |
6
vivianthesis OP @Jat001 谢谢你的回答,尤其是后面的一段,非常清楚明白~
鸟哥的这个稍微看了一点,可能是我没表达清楚。。。那假如是这种情况,以wordpress为例:现在已经配置子进程的运行身份是www:www。要安装wordpress,就要先通过ftp上传,上传了的所有wordpress的文件所有者和组就都是abc:abc,权限文件夹为755文件为644,然后wordpress存储上传的附件的目录可以选择下面其中一种方式: 1. 目录所有者和组改为www:www,权限还是755和644 2. 目录改为777和666权限,所有者和组还是abc:abc 3. (为了通过ftp能让abc删除、移动上传目录里的文件)目录权限改为775,同时把abc加入www组,这样有了组权限的abc也就能操作里面的文件了,可以这样理解吧? 以上三中方式选择其一,wordpress应该就能正常运行了。但感觉2和3是不是都有点安全隐患?这样看来,难道是1最好?或者还有其他办法? 这个子进程的运行身份有没有可能设成abc:abc呢?这样会不会有什么隐患? 再次感谢! |
7
Jat001 2014-05-04 01:33:18 +08:00 1
@vivianthesis 我认为在服务器上直接使用 root 账户没有什么不妥的,以 root 身份登录 sftp,即方便又安全。既然是 vps,为何不直接在服务器上下载并解压呢?至于安全方面,我认为应该从 php 的配置文件着手,比如禁用敏感函数,设置 open_basedir 等。另外还要及时更新程序,不要使用漏洞较多的程序。
我目前使用的方法是第一条;至于第二条,我认为是非常不可取的,最后一个 7 和 6,是对于其他用户而言,如果所有用户都有权更改,那设置所有者和组也没有任何意义了;root 账户可以更改任何文件,所以第三条是没有必要的。 普通用户使用的账户应该跟程序使用的账户分开,而且程序使用的账户不应该允许登录。 |