如何在 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中创建一个具有其他用户可以写入权限的文件

如何在单个命令中创建目录并授予权限

如何在 ADS 中创建具有管理员权限的新用户?

如何在 MySQL/MariaDB 中创建与 root 具有相同权限的用户? [关闭]

如何在ubunto系统中创建普通用户并具有管理员权限

为啥要执行权限以及在 c(Linux) 中创建文件所需的写权限? [关闭]