gpt4 book ai didi

c - 允许非root应用程序修改/etc中的只读文件

转载 作者:太空宇宙 更新时间:2023-11-04 08:07:50 25 4
gpt4 key购买 nike

我正在尝试为网络和在 linux 上运行的嵌入式设备提供一个几乎是傻瓜式的配置器。当由 root 运行时,应用程序保存到/etc/network/interfaces 没有问题,但当由标准用户运行时返回“segmentation fault”。 strace 返回:

open("/etc/network/interfaces", O_WRONLY|O_CREAT|O_TRUNC, 0666) = -1 EACCES (Permission denied) --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0} ---

我怎样才能让它被任何人启动并写入/etc/network/interfaces ?

保存到文件的代码:

            FILE *saveFile;
saveFile = fopen("/etc/network/interfaces","w");
// loopback
fprintf(saveFile, "auto lo \niface lo inet loopback\n\n");
// eth0
fprintf(saveFile, "auto eth0\niface eth0 inet static\n\taddress %s\n\tnetmask %s\n\tgateway %s\n",
address,netmask,gateway);
fclose(saveFile);

最佳答案

How can I allow it to be launched by anyone and write to /etc/network/interfaces ?

嗯...通过给/etc/network/interfaces 上的任何人写权限?

关于c - 允许非root应用程序修改/etc中的只读文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41480377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com