我正在阅读有关分段错误的维基百科,并通过以下代码和语句来阅读。
int main(void)
{
char *s = "hello world";
*s = 'H';
}
当包含此代码的程序被编译时,字符串“hello world”被放置在程序可执行文件中标记为只读的部分;加载时,操作系统会将其与其他字符串和常量数据一起放在内存的只读段中。执行时,变量 s 被设置为指向字符串的位置,并尝试通过变量将 H 字符写入内存,从而导致分段错误。使用在编译时不检查只读位置分配的编译器编译这样的程序。
我的问题是关于文件权限,即当可执行文件标记为只读时以及何时读写等等?
我想了解有关文件权限的所有信息。我们可以明确更改文件权限吗?