- if self.cmd:
- cmd=['/bin/sh','-c',self.cmd]
- elif os.getuid()==0:
- cmd=['/bin/login']
- else:
- sys.stdout.write("Login: ")
- login=sys.stdin.readline().strip()
- if re.match('^[0-9A-Za-z-_. ]+$',login):
- cmd=['ssh']
- cmd+=['-oPreferredAuthentications=keyboard-interactive,password']
- cmd+=['-oNoHostAuthenticationForLocalhost=yes']
- cmd+=['-oLogLevel=FATAL']
- cmd+=['-F/dev/null','-l',login,'localhost']
- else:
- os._exit(0)