【问题标题】:How to create a file in C with set permissions/time/etc?如何在 C 中创建具有设置权限/时间/等的文件?
【发布时间】:2012-10-11 07:17:52
【问题描述】:

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

【问题讨论】:

    标签: c file-io file-permissions


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2021-01-17
        • 2015-11-08
        • 2014-06-15
        • 2018-08-18
        • 1970-01-01
        • 2017-08-24
        • 2011-09-10
        • 2013-10-30
        • 1970-01-01
        相关资源
        最近更新 更多