私はUNIXには新しく、何か助けが必要です。cのargvをUNIXのコマンドに構文解析します。
私は、別のユーザコールuserbにあるsuidプログラムであるprojectcという別のプログラムコールを持っています。 userbには、その所有者(userb)に対する書き込みと読み取りのアクセス許可を持つディレクトリパスがあります。
printfを使用して、argv引数でコマンドprintf(system("cat /home/userb/pass"))
を実行しようとしています。
私はCコードprintf(system("cat /home/userb/pass"))
で直接実行できますが、argv引数で実行していますが、できません)。
argv[1]
パラメータをコマンドに解析する方法はありますか?
これは私がUNIXで動作させようとしている私のCプログラムです。
int main(int argc, char **argv){
printf(argv[1]);
return 0;
}
手動で解析しない限り、文字列からC関数を呼び出すことはできません。私は驚いて 'printf(システム(..)あなたのために何かをしました - その戻り値は有効な文字列ではないので、' printf'がクラッシュする可能性があります。 – usr2564301