Unix 权限:文件夹及其文件的不同 chmod

Unix Permission: different chmod on folder and its files

假设文件夹设置为 chmod 777,但文件夹中的文件设置为 chmod 755。 非所有者用户可以将文件写入文件夹。那么覆盖已经存在的文件怎么样?非所有者用户可以覆盖现有文件吗?

是的。虽然非所有者不能能够打开文件进行编辑和更改其内容,但他们能够删除目录中的任何文件并将其替换为同名的新文件。

如果您授予每个人对目录的读、写和执行权限,则每个人都可以创建和删除文件,包括其他用户创建的文件。

如果您想避免这种行为(您的评论之一提到了这一点),您应该创建另一个 /tmp 或 /var/tmp 目录:设置粘性位:

$ chmod +t directory

设置粘滞位后,每个用户都可以创建新文件,但无法删除其他人的文件。

这里有一个公平的警告:我不建议使用这样的功能来保护您的上传。改为在您的前端实施更好的访问控制。