如何在 C 中创建具有设置权限/时间/等的文件?
Posted
技术标签:
【中文标题】如何在 C 中创建具有设置权限/时间/等的文件?【英文标题】:How to create a file in C with set permissions/time/etc? 【发布时间】:2012-10-11 07:17:52 【问题描述】:我有一个实现存档的程序,我需要从创建的存档中提取文件。我打算通过创建一个新文件来做到这一点。我已经有了文件名/用户 id/组 id/日期/模式(权限)/等。那么如何创建具有这些给定属性的文件呢?
【问题讨论】:
【参考方案1】:在创建文件时,会自动设置某些属性。这包括所有者和时间/日期。您可以指定要创建的文件的名称,但该文件自动归您所有,并继承您的用户 ID 和组 ID(即执行程序的用户 ID) - 这是系统生成的,出于安全原因这样做(如果您无权访问其他用户的凭据怎么办?)。但是,一旦创建了文件,您就可以更改所有者或组 (chown/chgrp) 甚至更改文件权限 (chmod)。如果您希望执行单个命令,您可以简单地附加这些命令(使用 ;)。
【讨论】:
【参考方案2】:您几乎需要三个系统调用来完成您的任务:
chmod
更改权限。
chown
更改所有权(用户和/或组)。
utime
更改文件的上次访问和修改时间。
【讨论】:
以上是关于如何在 C 中创建具有设置权限/时间/等的文件?的主要内容,如果未能解决你的问题,请参考以下文章
你如何在python中创建一个具有其他用户可以写入权限的文件