权限-PHP和FTP

权限-PHP和FTP,php,linux,permissions,Php,Linux,Permissions,如何设置用户/组,使PHP/Apache和proFTPD都能完全访问文件/dir FTP用户 Username: webadmin User ID: 1001 Home dir: /var/www Shell: /usr/sbin/nologin Primary group: www-data Move home dir if changed: yes Change user ID on files: home dir Change group ID on files: home dir Mo

如何设置用户/组,使PHP/Apache和proFTPD都能完全访问文件/dir

FTP用户

Username: webadmin
User ID: 1001
Home dir: /var/www
Shell: /usr/sbin/nologin
Primary group: www-data

Move home dir if changed: yes
Change user ID on files: home dir
Change group ID on files: home dir
Modify user in other modules: yes

使用
webadmin
登录FTP时,会列出所有文件,但没有写入权限

如果您想让多个用户访问某个内容,那么应该使用组

首先,确保所有必要的web“用户”都是某个组的成员,可能是www数据

usermod -a -G www-data webadmin
将用户“webadmin”添加到“www数据”组

接下来,将文件组更改为此组:

chgrp -R www-data files/dirs
递归地将文件组/dir设置为www数据

usermod -a -G www-data webadmin
最后,更改相关目录的权限,以允许对其组的所有成员进行完全访问:

chmod -R g+rwx files/dirs

递归地授予组成员对文件/dirs的读、写和执行权限

您可能会在serverfault.com上获得更多响应,该网站针对系统管理问题。我已将其标记给版主,希望他们能为您移动它。在不知道您的安全模型是什么的情况下,无法给出答案-但是您希望Web服务器运行的组可以写入文件,这意味着该模型存在严重缺陷。@symcbean,您将如何设置用户/组?:)可由Web服务器uid读取(可能通过“其他”)但不属于Web服务器uid/组。对于任何明确打算由webser uid写入的文件/目录,同样,通过“其他”允许这些权限。为可以修改文件/dirs的用户提供的特定组-相应的组所有权集和dirs上的组粘性位集(假设安装没有使用fastCGI作为Web服务器或SUPPP的不同用户运行),执行
chgrp-R www data*
操作时没有发生任何事情。。当登录FTP时,所有者仍然是
proftpd
chgrp-R www-data*
将递归地将当前目录中所有内容(不包括当前目录或当前目录中的隐藏文件)的组设置为www-data。如果您运行
ls-l
,这应该反映在组权限中。您确定正在从正确的目录运行chgrp命令吗?