Задать вопрос
@freedom1b2830

Как написать это программу на c++,что нужно:создать-присвоить каталог и файл, прочитать файл, сравнить строки, запустить шел в каталоге?

Нужно в цикле while проверять пароль, если подходит спавнить шел в целевой папке
получаю домашнюю папку
получаю приватную папку
получаю файл пароля
читаю ввод пользователя

функция сравнивания паролей:
читаю файл
сравниваю пароли

запускаю шел в приватный папке

структура файлов
shell=/usr/bin/bash
homedir=/home/$user
privdir=$homedir/PRIV_DIR
passwordFile=$privdir/password.dat

краткий набросок:
#include <stdio.h>
#include <stdbool.h>
#include <unistd.h>
#include <string>
#include <unistd.h>
#include <sys/types.h>
#include <pwd.h>
#include <iostream>

using namespace std;


int main(void){
	struct passwd *pw = getpwuid(getuid());
	const char *homedir = pw->pw_dir;
	//TODO получаем privdir
	//TODO получаем passwordFile
	
	while(true){
		sleep(10);
		string user_pass;
		cout << "Введите пароль: ";
		getline (cin, user_pass);
		if(password_check(passwordFile,user_pass)){
			spawnShell(shell,privdir)
			return 0;
		}

	}
	return 0;
}
  • Вопрос задан
  • 84 просмотра
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы