session.c

来自「关于 linux密钥的一些安全介绍 #ifndef COMMON_H #de」· C语言 代码 · 共 35 行

C
35
字号
#include <stdio.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <stdlib.h>
#include <unistd.h>

#include "../common.h"

int main(int argc, char *argv[])
{
  int retval;
  char *myshell = "/bin/bash";
  int fd = open(MY_PROC_INTERFACE, O_RDWR);
  if(fd < 0){
    perror("proc-file failed to open");
    exit(1);
  }

  retval = ioctl(fd, FRESH_SESSION);
  if(retval == -1){
   perror("ioctl failed");
   close(fd);
   exit(1);
  }
  close(fd);
  
  argv[0] = myshell;
  execvp(myshell, argv);

  
  perror(myshell);
  printf("You don't have bash ???\n");
  exit(1);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?