繁体   English   中英

如何在C中使用设置的权限/时间/等来创建文件?

[英]How to create a file in C with set permissions/time/etc?

我有一个实现存档的程序,我需要从创建的存档中提取文件。 我打算通过创建一个新文件来做到这一点。 我已经有了文件名/用户ID /组ID /日期/模式(权限)/等。那么如何创建具有这些给定属性的文件?

创建文件时,会自动设置某些属性。 这包括所有者和时间/日期。 您可以指定要创建的文件的名称,但是该文件由您自动拥有,并继承您的用户ID和组ID(即,执行该程序的用户ID)和组ID-这是系统生成的,出于安全原因而这样做(如果您无权访问其他用户的凭据怎么办?)。 但是,一旦创建了文件,您就可以更改所有者或组(chown / chgrp)甚至更改文件权限(chmod)。 如果希望执行单个命令,则可以简单地追加这些命令(使用;)。

您几乎需要三个系统调用才能完成任务:

  • chmod更改权限。
  • chown改变所有权(用户和/或组)。
  • utime更改文件的上次访问和修改时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM