Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C和文件权限_C_Linux_File Permissions - Fatal编程技术网

C和文件权限

C和文件权限,c,linux,file-permissions,C,Linux,File Permissions,我正在使用Ubuntu Lucid Lynx 是否可以通过具有只读权限的C程序在文件中写入数据。如果不可能,那么有没有办法让sudo访问C程序 对于没有权限的文件,我将以字符串形式保存数据。然后,我将使用写入选项打开文件: FILE *fp = fopen(file_path,"w") fputs(string,fp); fclose(fp); 不,您不能写入只读文件,这将破坏只读的整体意义。至于授予root用户对c程序的访问权,您可以始终以root用户或具有修改文件权限的人的身份运行它 不,

我正在使用Ubuntu Lucid Lynx

是否可以通过具有只读权限的C程序在文件中写入数据。如果不可能,那么有没有办法让sudo访问C程序

对于没有权限的文件,我将以字符串形式保存数据。然后,我将使用写入选项打开文件:

FILE *fp = fopen(file_path,"w")
fputs(string,fp);
fclose(fp);

不,您不能写入只读文件,这将破坏只读的整体意义。至于授予root用户对c程序的访问权,您可以始终以root用户或具有修改文件权限的人的身份运行它

不,您不能写入只读文件,这会破坏只读的整体意义。至于授予root用户对c程序的访问权,您可以始终以root用户或具有修改文件权限的人的身份运行它

如果您是文件的所有者,则可以使用更改权限。如果您不是该文件的所有者,可以使用bit访问该文件,但这确实应该避免。

如果您是该文件的所有者,则可以使用更改权限。如果您不是文件的所有者,您可以使用bit访问文件,但这确实应该避免。

在程序运行时,不可能让程序将自身提升到sudo状态。 这是一件非常好的事情。 如果这是可能的话,每个病毒都有能力接管任何系统


程序需要从一开始就以正确的访问权限启动。

程序运行时无法将自身提升到sudo状态。 这是一件非常好的事情。 如果这是可能的话,每个病毒都有能力接管任何系统


程序需要从一开始就以正确的访问权限启动。

您可以,但不能以标准的跨平台方式启动

在Unix系统上,使用
chmod
。它应该在

如果需要根权限,请尝试:

if(fp == NULL)
    execvp("sudo", argv);

您可以,但不是以标准的跨平台方式

在Unix系统上,使用
chmod
。它应该在

如果需要根权限,请尝试:

if(fp == NULL)
    execvp("sudo", argv);

在Unix中,通常要做的是使程序的可执行文件归root所有,即world可执行文件,然后在其上设置SUID位

chown root filename
chmod 4775 filename

请参阅位的确切含义,但总的来说,这意味着每当有人运行此可执行文件时,他们都会将可执行进程的用户ID设置为所有者(root)。

在Unix中,通常要做的是使程序的可执行文件归root所有,即world executable,然后在其上设置SUID位

chown root filename
chmod 4775 filename

请参阅位的确切含义,但总的来说,这意味着每当有人运行此可执行文件时,他们都会将可执行进程的用户ID设置为所有者(root)。

我个人认为这与编程无关,而与Unix操作系统的使用有关。我个人认为,这不是关于编程,而是关于Unix操作系统的使用。投票移动到SU。如果程序没有chmod it权限怎么办?如果程序没有chmod it权限怎么办?