在正在写入的文件发生chown时会发生什么?

背景 :我有一个cron作业chown是新用户的目录。 通常,这些用户在作业发生之前已经将文件上载到服务器。

那么,如果文件正在上传过程中,文件是否会成功更改其所有权?

我有一个cron工作,chown是新用户的目录。

我认为你的意思是这些新用户的目录以及这些目录的所有内容(即chown -R newuser:newuser /home/newuser-dir )。

这是一个竞争条件 ,就像在编程中一样,除了在系统上而不是在过程级别上遇到它,但是它仍然是一个安全风险。

是正确的,除非你有一个非常奇怪的要求,这将是更好的使用上传过程,不需要这样的后台任务来更改文件的所有权。

因为从某种意义上讲,你正在采取未经validation的数据(上传的文件),并自动将信任级别设置为等同于不同的(可能是更可信的用户),而不必确保文件的安全性。 这就造成了滥用这种竞争条件的可能性,例如,如果新用户可以创build一个到系统文件的符号或硬链接(例如/etc/shadow ),以便他们可以获得散列的密码,然后安装离线密码破解攻击。 那会很难过

所有权信息在创build文件时设置。 如果在此之后被更改,它将保留,除非程序在事实之后再次重写所有权信息。

假设你正在做一个recursion的chown ,并且文件被写在你recursion地改变所有权的树中的某个地方,那么是的。

他们上传文件的用户是什么? 如果目录还没有被编辑,他们如何拥有写权限? 为什么不给他们访问权限之前设置正确的权限?