public void createUser(String username,String password)
{
StringBuffer createuser = new StringBuffer();
createuser.append("useradd -G ftpgroup -    
                        d /opt/mdms/repository/ftp/");
createuser.append(username);
createuser.append(" -M ");
createuser.append(username);
System.out.println("create command is"+createuser);
System.out.println(createuser);
StringBuffer setpasswd = new StringBuffer();
setpasswd.append("passwd ");
setpasswd.append(password);
System.out.println("setpasswd command is");
System.out.println(setpasswd);
String command1=createuser.toString();
String command2=setpasswd.toString();

StringBuffer createdir = new StringBuffer();
createdir.append("mkdir /opt/mdms/repository/ftp/");
createdir.append(username);
String mkdir=createdir.toString();

Process p0 = Runtime.getRuntime().exec(mkdir);
Process p1 = Runtime.getRuntime().exec(command1);
Process p2 = Runtime.getRuntime().exec(command2);
InputStreamReader ir=new InputStreamReader(p2.getInputStream());
BufferedReader in = new BufferedReader(new InputStreamReader
                                              (p2.getInputStream()));
LineNumberReader input = new LineNumberReader (ir);
String pass=password;
while((pass = input.readLine ()) != null)
{
System.out.println(pass);
}
ir.close();
input.close();
}
其中有个交互 java里的Runtime.getRuntime().exec是一次性执行完的,
问题出来了,现在linux下命令passwd username 后,得连续敲入两次
密码才能够生效,这个如何解决。要求这个方法传递两个参数
username,和password函数执行完,就能够在系统里加一个用户。