私はセグメンテーション違反に関するウィキペディアを読んでいて、次のコードとステートメントを通り抜けました。
int main(void)
{
char *s = "hello world";
*s = 'H';
}
このコードを含むプログラムがコンパイルされると、文字列「helloworld」がプログラム実行可能ファイルの読み取り専用としてマークされたセクションに配置されます。ロードされると、オペレーティングシステムは、他の文字列および定数データとともに、メモリの読み取り専用セグメントに配置します。実行されると、変数sが文字列の位置を指すように設定され、変数を介してH文字をメモリに書き込もうとすると、セグメンテーション違反が発生します。このようなプログラムを、コンパイル時に読み取り専用の場所の割り当てをチェックしないコンパイラを使用してコンパイルします。
私の質問は、ファイルのパーミッション、つまり、実行可能ファイルが読み取り専用としてマークされている場合、および読み取りと書き込みの場合などです。
ファイルのアクセス許可についてすべて知りたいのですが、ファイルのアクセス許可を明示的に変更できますか?