#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main (int argc, char **argv) {
char *command;
if (argc != 2) {
fprintf (stderr, "Wrong number of arguments\n");
return 1;
}
if ((command = malloc (strlen (argv[1]) + 6)) == NULL) {
fprintf (stderr, "Could not allocate memory\n");
return 1;
}
strcpy (command, "echo ");
strcat(command,argv[1]);
system(command);
free (command);
return 0;
}
如何修補這個代碼所以不會給予用戶 任何privelige的事情就是通過運行這個我可以接取的root用戶如何編輯這使得本將不會發生你仍然表示將在後臺運行的東西
不要以root身份運行代碼? – 2011-03-24 16:29:15
我沒有運行根目錄中的代碼 – krishnan 2011-03-24 16:34:38
它允許在問題中使用標點符號。 – steabert 2011-03-24 16:36:18