解决方案 1

解决方案 1

我已将/var/www/html文件夹的所有者更改为www-data。现在我想将所有权ubuntu也授予 。

我该怎么做?我不知道他们属于哪个组。我ssh使用ubuntu用户名登录,我的 FTP 也可以与 ubuntu 一起使用,但现在由于这一变化,我在通过 ftp 编辑文件时遇到权限问题。

答案1

解决方案 1

如果只有一个用户需要访问权限,最简单的ubuntu方法www-data

sudo chown ubuntu:www-data <path/to/file or directory>

这会将所有权赋予用户ubuntu,但仍保留组的所有权www-data

因此,你可以通过以下方式控制 ubuntu 可以做什么

sudo chmod u<+|- permission> <path/to/file or directory>

并且你www-data可以通过以下方式控制

sudo chmod g<+|- permission> <path/to/file or directory>

或者简单地使用完整的权限掩码(见下面的示例)。


例子
用户ubuntu应具有读(r)、写(w)、执行(e)的权限;
www-data应具有读(r)、执行(e)的权限,但不能具有写(w
other users的权限;应不具有上述任何权限

sudo chmod u+rwx <path/to/file or directory>
sudo chmod g-w+rx <path/to/file or directory>
sudo chmod o-rwx <path/to/file or directory>

或使用权限掩码(有用的发电机

sudo chmod 750 <path/to/file or directory>

对于您的案例来说,同样有趣的可能是这-R两个命令的参数,将所有权和权限递归地应用于文件夹的内容。

有关选项和参数的更多信息,请参阅
男人手册修改模式



解决方案 2

我宁愿不是按照评论中的建议将用户添加到系统功能用户组

sudo usermod -a -G www-data ubuntu

因为这是授予用户权限的一种非常肮脏的方式,因为他也可能会把事情搞砸……

相反,如果您愿意,可以使用以下方法添加一个全新的组groupadd(请参阅男子组添加

groupadd <group name>

将所有对文件有权限的用户添加到此组

sudo usermod -a -G <group name> ubuntu
sudo usermod -a -G <group name> www-data

(更多信息请参见用户修改程序

然后将文件的所有权设置为该组

sudo chgrp <group name> <path/to/file or directory>

然后按照前面所述设置权限,但这次仅适用于
组(读取(r)、写入(w)、执行(e))

sudo chmod g+rwx <path/to/file or directory>
sudo chmod u-rwx <path/to/file or directory>
sudo chmod o-rwx <path/to/file or directory>

或使用面膜

sudo chmod 070 <path/to/file or directory>

ubuntu请注意,使用此解决方案,您将失去对和的不同权限的控制www-data

相关内容