CHMOD 防止删除文件目录

CHMOD 防止删除文件目录

我在 Linux 服务器上托管了一些内容,并且有几个文件夹我不想删除。这些文件夹中有一些子文件夹我确实想删除。

如何对我不想删除的文件夹设置 CHMOD 权限?

当然,当我说“我永远不想删除”时 - 我的意思是最终客户不应该通过 FTP 或 PHP 脚本等意外删除它们。

作为目录结构的示例...

MainFolder/SubFolder
MainFolder/Another

我不希望“MainFolder”被意外删除,但我很高兴“SubFolder”和“Another”被删除!

答案1

删除文件/目录会改变父目录的内容,因此,如果您不想MainFolder被删除,您需要确保目标用户对父目录没有写权限MainFolder

假设这种结构: /some/dir/ParentDir/MainFolder/SubFolder

您需要运行如下命令来防止删除(针对所有用户):

chmod a-w /some/dir/ParentDir

当然,这不是理想的情况,因为使其不可写意味着用户无法向其添加其他文件/目录/some/dir/ParentDir

粘性位是否更适合您的目的?在父目录上设置粘性位将只允许目录所有者删除。

chmod +t /some/dir/ParentDir

请参阅使用部分http://en.wikipedia.org/wiki/Sticky_bit有关粘性位的更多信息。

答案2

你可以MainFolderchown

答案3

正如 Oli 所说,您可以chown -R new_owner Mainfolder确保所有子目录的所有者与访问它的所有者不同。这应该可以阻止其他用户删除它。

要允许其他用户访问它,您还可以创建一个组并使用 更改文件组chgrp。这样,您的“客户”组中的任何成员都可以访问这些文件夹。如果您希望每个人都有访问权限,另一种方法是将另一位设置为读取。

注意chmod -R///chown -R以递归chgrp -R方式chcon -R设置权限。

相关内容