从/tmp
dir移动文件,我收到警告:
重命名(/ tmp / [somefile],[destination]):[...]中不允许操作
它有三个奇怪的东西:
/tmp
和[destination]
目录中的文件都属于www
进程(代表执行操作的进程)并拥有所有者的写入权限。换句话说,它实际上有效,但会发出警告,就像它没有。对我来说很奇怪。
这种行为可能是什么原因?
答案 0 :(得分:2)
重命名应该是原子操作;也就是说,从来没有旧文件名和新文件名都存在或者既不存在也不存在。 / tmp通常是Linux服务器上的单独文件系统。我的猜测是你得到一个警告,因为移动不是原子的(因为它在两个不同的文件系统之间),即使它有效。因此,这可能更接近于复制,然后是删除而不是在一个文件系统上移动。