使

使用SSH登陆服务器无法修改文件的问题

码间碎语 2 天前 27 浏览 1

这是因为 ubuntu 用户默认不属于 www-data 组,也不是文件的所有者,所以没有对 www-data 归属文件的写入权限。

解决这个问题只需要 1 步核心操作,就能让 ubuntu 用户永久拥有修改 www-data 文件的权限,无需每次都用 sudo

核心方案:把 ubuntu 用户加入 www-data 组

# 将 ubuntu 用户添加到 www-data 组(-a 是追加,不会删除原有组)
sudo usermod -aG www-data ubuntu

验证是否成功添加

# 查看 ubuntu 用户所属的所有组
groups ubuntu
# 正常输出示例:ubuntu : ubuntu www-data
# 看到 www-data 就说明加入成功了

确保文件给 www-data 组分配了写权限
如果加入组后还是无法修改,大概率是文件的组权限没有开写权限,执行下面的命令批量开启:

# 进入目标目录后执行,给 www-data 组添加写权限
sudo chmod -R g+w .

原理说明:

  • Linux 文件权限规则:只有文件所有者、所属组成员、root 用户能修改文件;
  • 之前 ubuntu 既不是所有者(www-data),也不是组成员,所以没有权限;
  • 加入 www-data 组后,ubuntu 就属于该组,再配合 g+w 权限,就能正常修改文件了。

另外:使用ubuntu用户登陆的SSH服务器,新建的文件用户及用户组都是默认为 ubuntu,为了统一用户及用户组,可以在指定目录下批量更改:

sudo chown -R www-data:www-data .

评论(0)

发布评论

相关文章