更改 C 中的所有者和组?
我想更改 C 中文件的所有者和组。我用 google 搜索它,但如果只找到一些使用 system()
和 chmod
命令或相关函数的代码。
有没有办法在没有 system()
函数和 Bash 命令的情况下做到这一点?
I want to change owner and group of a file in C. I google it, but if find only some code that use system()
and chmod
command or relative functions.
Is there a way to do this without system()
functions and Bash commands?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
为了完成答案,在 Linux 上可以使用以下命令(我已经在
Ubuntu
上进行了测试):To complete the answer, on Linux the following can be used (I've tested on
Ubuntu
):您可以使用
chmod
,fchmodat
和/或fchmod
系统调用。所有三个都位于
中。对于所有权,有
chown
和fchownat
,均位于
中。You can use the
chmod
,fchmodat
and/orfchmod
system calls. All three are located in<sys/stat.h>
.For ownership, there's
chown
andfchownat
, both in<unistd.h>
.有一个
chown
大多数 C 库中的函数:There is a
chown
function in most C libraries:尝试
man 2 chown
和man 2 chmod
。另请参阅文档此处和此处。
Try
man 2 chown
andman 2 chmod
.Also see documentation here and here.
chown()
就可以了。chown()
does the trick.