【问题标题】:permissions - PHP and FTP权限 - PHP 和 FTP
【发布时间】:2011-11-11 12:01:56
【问题描述】:

如何设置用户/组以便 PHP/Apache 和 proFTPD 都可以完全访问文件/目录?

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 时,所有文件都会列出,但没有写入权限!?

【问题讨论】:

  • 您可能会在 serverfault.com 上获得更多回复,该网站针对系统管理问题。我已将其标记给版主,希望他们会为您移动。
  • 在不知道您的安全模型是什么的情况下,不可能给出答案 - 但是您希望文件可由网络服务器运行的组写入,这意味着该模型存在严重缺陷。
  • @symcbean,然后您将如何设置用户/组? :)
  • 可由网络服务器 uid 读取(可能通过“其他”),但不属于网络服务器 uid/组。对于任何明确打算由 webser uid 写入的文件/目录,然后再次通过“其他”允许这些权限。可以修改文件/目录的用户的特定组 - 相应地设置组所有权并在目录上设置组粘性位(假设安装不使用 fastCGI 作为与网络服务器或 suPHP 不同的用户运行)

标签: php linux permissions


【解决方案1】:

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

首先确保所有必要的网络“用户”都是某个组的成员,可能是 www-data。

usermod -a -G www-data webadmin

将用户“webadmin”添加到“www-data”组。

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

chgrp -R www-data files/dirs

递归地将文件/目录组设置为 www-data。

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

chmod -R g+rwx files/dirs

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

【讨论】:

  • chgrp -R www-data *什么都没有发生。当登录FTP时,所有者仍然是proftpd
  • chgrp -R www-data * 将递归地将当前目录(不包括当前目录,或当前目录中的隐藏文件)中所有内容的组设置为 www-data。如果您运行ls -l,这应该反映在组权限中。您确定从正确的目录运行 chgrp 命令吗?
猜你喜欢
  • 1970-01-01
  • 2015-01-28
  • 2023-03-31
  • 2012-03-27
  • 1970-01-01
  • 2011-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多