1. 程式人生 > >Ubuntu 使用 C語言呼叫 Shell 檔案 ,sudo 免密碼輸入,為 shell 檔案加殼繞過chmod 4755 許可權問題

Ubuntu 使用 C語言呼叫 Shell 檔案 ,sudo 免密碼輸入,為 shell 檔案加殼繞過chmod 4755 許可權問題

需求: 當我們需要指令碼檔案輸入 su 或 sudo 的時候 ,會出現密碼輸入問題 ,如何實現自動輸入密碼?

ps : 需求用在 二進位制檔案 呼叫 Shell 檔案的,為shell 檔案加殼繞過chmod 4755 許可權問題

  • 建立 C檔案
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE * fp;
char buffer[1024];
fp=popen("sudo bash xx.sh","r");// sudo bash xx.sh 要開啟的檔案路徑 
fgets(buffer,sizeof
(buffer),fp); pclose(fp); return 0; }
  • 建立簡單的 shell 檔案
#!/bin/bash
sudo mkdir aabb << EOF // 你的sudo 指令
******* // 你的密碼
EOF
  • 控制檯輸入…

gcc test.c -o test

  • 控制檯輸入 …

./test

這樣就實現繞過許可權,執行 sh 指令碼