You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为用户授予www-data所属/var/www/app文件夹的读写权限

/var/www/app目录FTP用户权限配置方案

核心思路是通过用户组授权的方式实现权限共享,不修改目录原有www-data属主,避免影响web服务正常运行。

  • 第一步:将FTP用户john加入www-data用户组
    执行以下命令,将john追加到www-data附加组中,不会覆盖john原有其他用户组权限:
    usermod -aG www-data john
    注意:必须带-a参数,否则会清空john原有所有附加组,导致其他权限异常。操作完成后需要让john重新登录FTP,新的组权限才会生效。
  • 第二步:调整目录现有文件/目录的组权限
    执行命令给www-data组授予对应读写权限,大写X参数会自动仅给目录授予可进入的执行权限,不会给普通文件加不必要的执行权限,规避安全风险:
    chmod -R g+rwX /var/www/app
  • 第三步:设置目录SetGID位,保证后续新建文件权限一致
    执行命令给/var/www/app下所有目录加SetGID属性,之后目录内新建的文件、子目录会自动继承www-data用户组,不会出现新建文件双方无法读写的问题:
    find /var/www/app -type d -exec chmod g+s {} \;
  • 第四步:权限验证
    分别执行以下两条命令验证两个用户的访问权限,无报错即为配置正常:
    1. 验证john的读写权限:su - john -c "touch /var/www/app/ftp_test.txt && rm /var/www/app/ftp_test.txt"
    2. 验证www-data的原有访问权限:su -s /bin/bash www-data -c "touch /var/www/app/web_test.txt && rm /var/www/app/web_test.txt"

配置禁忌:不要直接将/var/www/app的属主修改为john,会直接导致web服务无权读写目录;不要给目录others类别开放读写权限,会引发严重的服务器安全风险。如果你的FTP服务配置了自定义umask,需要将umask值调整为002,保证新建文件的组权限默认包含读写属性。

内容的提问来源于stack exchange,提问作者Thejus A P

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 03:39:25