Permissions 如何删除其他用户拥有的文件?

Permissions 如何删除其他用户拥有的文件?,permissions,root,chmod,forge,Permissions,Root,Chmod,Forge,我有一个定制的laravel命令,它每小时在/storage/app/something目录中创建一些文件(forge用户拥有它们) 之后,laravel用户无法通过管理面板从磁盘删除这些文件,因为他不是这些文件的所有者 用户只能在使用sudo chmod-R storage/app/something后删除它们 如何使forge用户和www-data用户都可以编辑此目录?使用以下命令 sudo chown -R forge /storage/app/something sudo chgrp -

我有一个定制的laravel命令,它每小时在
/storage/app/something
目录中创建一些文件(
forge
用户拥有它们)

之后,laravel用户无法通过管理面板从磁盘删除这些文件,因为他不是这些文件的所有者

用户只能在使用
sudo chmod-R storage/app/something
后删除它们


如何使
forge
用户和
www-data
用户都可以编辑此目录?

使用以下命令

sudo chown -R forge /storage/app/something
sudo chgrp -R www-data /storage/app/something
sudo chmod 2770 /storage/app/something
第一个命令使
forge
成为目录的所有者

第二个命令将目录组更改为
www-data
,这意味着
www-data
组中的任何人都可以使用组权限访问目录。值得注意的是,该组包含用户
www-data
,因此它应该提供
www-data
访问权限

第三个命令执行以下操作:为用户(在本例中为
forge
)提供访问级别7(rwx)。为组(在本例中为
www-data
)提供访问级别7(rwx)。为所有其他用户提供访问级别0(---),这意味着其他用户无法访问该目录(将其替换为5以授予其只读权限)

最后,
chmod
命令中的
2
设置目录上的
setgid
位,这意味着所有新文件将继承目录组,而不是创建文件的人的组。这意味着这些文件也将有组
www数据
,允许组访问这些文件



当然,您也可以只执行sudo chmod 777/storage/app/something,这将允许任何人完全访问目录,但这是一种不好的做法。

使用以下命令

sudo chown -R forge /storage/app/something
sudo chgrp -R www-data /storage/app/something
sudo chmod 2770 /storage/app/something
第一个命令使
forge
成为目录的所有者

第二个命令将目录组更改为
www-data
,这意味着
www-data
组中的任何人都可以使用组权限访问目录。值得注意的是,该组包含用户
www-data
,因此它应该提供
www-data
访问权限

第三个命令执行以下操作:为用户(在本例中为
forge
)提供访问级别7(rwx)。为组(在本例中为
www-data
)提供访问级别7(rwx)。为所有其他用户提供访问级别0(---),这意味着其他用户无法访问该目录(将其替换为5以授予其只读权限)

最后,
chmod
命令中的
2
设置目录上的
setgid
位,这意味着所有新文件将继承目录组,而不是创建文件的人的组。这意味着这些文件也将有组
www数据
,允许组访问这些文件



当然,你也可以只做
sudo chmod 777/storage/app/something
,这将允许任何人完全访问该目录,但这是一种糟糕的做法。

我似乎无法回避这个问题,一旦forge删除并重新创建文件,除非我再次运行所有3个命令,否则www数据将失去权限。我似乎无法回避这个问题,一旦文件被forge删除并重新创建,www数据将失去权限,除非我再次运行所有3个命令