Exemple #1
0
int _su(int argc, char ** argv)	{
	char * username = NULL;
	char * password = NULL;
	printf("Login: "******"Password: "******"Successfully logged in as %s\n", username);
		} else {
			printf("Bad credentials, try again...\n");
		}
	}
	free(username);
	free(password);
}
Exemple #2
0
/** Starts a shell, it's a user process, but yes, resides in the kernel's code */
int tty_main (int argc, char ** argv)
{	
	clear_screen();
	
	char cadena[50];
	
	int status     = 0; // 0: logged out; 1: logged in
	int val        = 0;
	int tty_number = 0;
	val = 0;
	tty_number = atoi(argv[1]) + 1;
	char * input;
	char * username;
	char * password;

	
	printf("Monix v1 - TTY %d\n", tty_number);
	printf("Cristian Pereyra  -  Legajo 51190\n");
	printf("Sistemas Operativos - 2011 - ITBA\n");
	printf("Dennis Ritchie RIP\n");

	int child;
	while(1) {
		switch (status){
			case 1:
				printf("user@tty%d:", tty_number);
				input = (char *) getConsoleString(1);
				process_input(input, tty_number);
				if(getuid(NULL) == -1)
				{
					status = 0;
				}
				break;
			case 0:
				child = pcreate("su", 1, NULL);
				prun(child);
				waitpid(child);
				if(getuid(NULL) != -1)	{
					status = 1;
				}
				break;
		}
	}
	return 0;
}