这听起来可能很奇怪。
我的用户名是 ubuntu,我的机器叫 ubuntu。
我想要的是当我在某个文件夹中创建一个具有签名的文件时
user group
ubuntu www-data
目前我创造的任何东西都有一个签名
ubuntu ubuntu
我可以简单地从组 ubuntu 中删除我的用户并将其添加到组 www-data 吗?
这听起来可能很奇怪。
我的用户名是 ubuntu,我的机器叫 ubuntu。
我想要的是当我在某个文件夹中创建一个具有签名的文件时
user group
ubuntu www-data
目前我创造的任何东西都有一个签名
ubuntu ubuntu
我可以简单地从组 ubuntu 中删除我的用户并将其添加到组 www-data 吗?
sudo chgrp www-data *yourfile*
将为单个文件执行此操作。要对特定目录中的所有文件执行此操作,请使用相同的命令更改该目录的组
sudo chgrp www-data /path/to/your/dir
然后使用该
chmod
命令使在该目录中创建的所有文件都属于该目录所属的组sudo chmod g+s /path/to/your/dir
该命令
sg
可以执行不同组 ID 下的命令。如果您是该组的成员newgroup
,则应newfile
在该组内创建:(来源:https ://unix.stackexchange.com/questions/18796/how-to-apply-changes-of-newly-added-user-groups-without-needing-to-reboot )
我们可以基于
touch
和chown
命令创建一个简单的函数,它将创建新的空文件并同时更改它们的权限。或者当文件存在时,它只会更改其权限。为此,在终端中键入:现在我们有了一个新命令,叫做
touch-www
,我们可以这样使用它:为了能够在文件系统的任何地方使用这个新命令,让我们以这种方式修改函数:
一旦文件具有足够的权限,我们就可以使用当前用户对其进行编辑。所以让我们假设我们想以
nano
这里描述的方式使用和。让我们创建新函数:为了使这些新命令永久可用,我们可以在
~/.bashrc
文件底部添加这些行:假设您只想更改组并保留用户值,请尝试
或者在你的情况下:
然后运行
您可以创建一个 www-data 用户,将 www-data 组作为他们的主要 [see
useradd
,adduser
, or egkuser
],更改为该用户 [su www-data
],然后创建的所有文件都将归该 user:group 所有。在搞乱组之前先备份
/etc/group
(或整个 /etc)。还要查找如果您因组权限而被锁定该怎么办。或者,您可以将名为“ubuntu”的用户的主要组更改为 www-data:
sudo usermod --gid www-data ubuntu
.后者可能存在安全问题,因为它可能在某些时候(例如与其他错误结合)将该组拥有的所有文件暴露给您的 Web 服务器。www-data 组的要点是,只有它拥有的那些文件才允许由服务器(apache、nginx 等)向外发送。让所有标准用户登录文件都属于该组,因此会产生风险。