一个属于root的tar.gz文件可以被用户打包,因为它可以被群组和公众读取。 但是,在压缩后,tar文件的所有者是用户,而不是root。 这是程序gunzip的function吗? 还是有另一种机制?
在大多数现代操作系统上,包括Linux,都没有删除文件的操作。 有一个操作是从一个目录中删除一个文件(称为“unlink”),但这是对目录的操作,而不是文件。 因此,如果您可以修改目录,则可以从中删除文件或添加文件(新文件或可以访问的现有文件)。
文件系统不再使用时,文件系统会自动删除文件。 一个文件甚至可以被添加到多个目录中,在这种情况下,它不能被删除,直到从所有这些目录中删除并且不再被任何进程使用。
大卫的优秀答案,但这里是我的5美分:
要解压文件,您需要以下权限:
chown
输出文件 由于您是普通用户,因此无法将文件chown
到root。 由于这个原因解压缩的文件是由您的用户拥有。