Permissions 如何删除其他用户拥有的文件?
我有一个定制的laravel命令,它每小时在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 -
/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个命令