我正在编写一个访问Linux原始套接字的Qt应用程序,所以我需要root特权来运行这个程序。所以我做了这个:
在我的节目里,我一开始就有这样的想法:
if (getuid() != 0)
{
fprintf(stderr, "You must be root to run this program. UID = %i\n", getuid());
exit(-1);
}
然后,我以"chmod 6777 myProgram“作为根。
但是,当我试图以普通用户的身份运行它时,它会说:“您必须是运行此程序的根用户,UID = 1002",其中1002
我目前正在开发"Creation of Postmortem data logger in Linux on Intel architecture"。它只不过是核心实用程序的创建。有没有人可以分享关于在Linux内核中内部实现的应用程序崩溃时,产生core dump的各种信号(SIGSEGV,SIGABRT,SIGFPE etc)的信号处理器的细节。我需要根据自己的用户需求重写这些信号处理程序,并重新构建内核。它使我的内核产生核心文件(在应用程序崩溃时),满足用户特定的需求,比如显示registers,stackdump and backtrace etc。
有没有人能分享一下