たとえば、hello.cファイルがある場合は、次のようになります。
int main() {
printf("Hello world");
return 0;
}
gccでビルドgcc hello.c -o hello
して実行できました./hello
。
ただし、たとえば、Webからバイナリをダウンロードする場合は、curl
実行する前にまずchmodを使用して権限を設定する必要があります。理由がありますか? gccおよび/またはカールがファイルに対するいくつかのデフォルト権限を設定しますか?
ベストアンサー1
curl
ファイルが実行可能であることをどうやって知ることができますか?技術的には内容を確認できますが、これは意図したcurl
ものよりはるかに優れています。
基本権限はumask
(http://en.wikipedia.org/wiki/Umaskumask
)と実行可能ビットは、プログラムから派生した権限の上に追加できます(またはまったく異なる権限を使用できます)。たとえば、gcc
実行ファイルを作成していることを知って実行ビットを設定します。一方、curl
実行可能ファイルは作成する意図がないため、デフォルトの権限のみが使用されます。