mirror of
				https://github.com/clearml/dropbear
				synced 2025-06-26 18:17:32 +00:00 
			
		
		
		
	If running as non-root only allow that user to log in
This commit is contained in:
		
							parent
							
								
									154a65fc31
								
							
						
					
					
						commit
						54a76342f5
					
				| @ -329,8 +329,6 @@ login_write (struct logininfo *li) | ||||
| { | ||||
| #ifndef HAVE_CYGWIN | ||||
| 	if ((int)geteuid() != 0) { | ||||
| 	  dropbear_log(LOG_WARNING, | ||||
| 			  "Attempt to write login records by non-root user (aborting)"); | ||||
| 	  return 1; | ||||
| 	} | ||||
| #endif | ||||
|  | ||||
							
								
								
									
										13
									
								
								svr-auth.c
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								svr-auth.c
									
									
									
									
									
								
							| @ -226,6 +226,7 @@ static int checkusername(unsigned char *username, unsigned int userlen) { | ||||
| 
 | ||||
| 	char* listshell = NULL; | ||||
| 	char* usershell = NULL; | ||||
| 	int   uid; | ||||
| 	TRACE(("enter checkusername")) | ||||
| 	if (userlen > MAX_USERNAME_LEN) { | ||||
| 		return DROPBEAR_FAILURE; | ||||
| @ -255,6 +256,18 @@ static int checkusername(unsigned char *username, unsigned int userlen) { | ||||
| 		return DROPBEAR_FAILURE; | ||||
| 	} | ||||
| 
 | ||||
| 	/* check if we are running as non-root, and login user is different from the server */ | ||||
| 	uid = geteuid(); | ||||
| 	if (uid != 0 && uid != ses.authstate.pw_uid) { | ||||
| 		TRACE(("running as nonroot, only server uid is allowed")) | ||||
| 		dropbear_log(LOG_WARNING, | ||||
| 				"Login attempt with wrong user %s from %s", | ||||
| 				ses.authstate.pw_name, | ||||
| 				svr_ses.addrstring); | ||||
| 		send_msg_userauth_failure(0, 1); | ||||
| 		return DROPBEAR_FAILURE; | ||||
| 	} | ||||
| 
 | ||||
| 	/* check for non-root if desired */ | ||||
| 	if (svr_opts.norootlogin && ses.authstate.pw_uid == 0) { | ||||
| 		TRACE(("leave checkusername: root login disabled")) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user