📄 autologin.c
字号:
/**** autologin.c ****
*********************/
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <pwd.h>
int main(int argc, char **argv)
{
struct stat st;
FILE *f;
char *cfg;
struct passwd *pw;
uid_t uid;
gid_t gid;
char *dir, *shell;
char *user=NULL;
char *cmd=NULL;
user="root";
cmd="/usr/X11R6/bin/startx";
pw = getpwnam(user);
if(pw)
{
uid=pw->pw_uid;
gid=pw->pw_gid;
dir=strdup(pw->pw_dir);
shell=strdup(pw->pw_shell);
}
else
{
printf("ERROR: No such user %s!n", user);
return 1;
}
chown("/dev/console", uid, gid);
chown("/dev/tty", uid, gid);
setregid(gid, gid);
setegid(gid);
setgid(gid);
setreuid(uid, uid);
seteuid(uid);
setuid(uid);
setenv("HOME", dir, 1);
setenv("SHELL", shell, 1);
setenv("USER", user, 1);
setenv("LOGNAME", user, 1);
chdir(dir);
user=NULL;
execvp(cmd, argv);
printf("ERROR: Couldn't exec %s: %sn", cmd, strerror(errno));
return 2;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -