Hi Dahnke, The cron idea seems interesting. Do you have something working? Or even an example for me to follow.
Thanks. --- "Dahnke, Eric" <[EMAIL PROTECTED]> wrote: > > The only password you could ever change is the one > for the user Tomcat is > running as (nobody i believe). > > I've been down the road you're going down. Your > options are: > > -1- (compiling apache/tomcat to run as user root > (unreasonable on anything > other than a intranet environment). big security > hole. > -2- you can use the expect programming language. > -3- you can hand the passwd execution to a cron job > that runs as root. just > dump the user to change password into a text file. > grep the text file every > 5 seconds or something from cron. if an entry exists > chpasswd on it and > delete the entry from the file. cron is very light > weight. see man chpasswd > > HTH > > > > -----Original Message----- > From: Al-Qalb el-Mounir [mailto:[EMAIL PROTECTED]] > Sent: Thursday, February 14, 2002 1:53 PM > To: Tomcat Users List > Subject: changing a user's password on linux using > jsp exec. > > > Is it possible? I wrote this jsp file, but nothing > seems to happen. Any ideas? > > ================== Code =========== > <%@ page import="java.io.DataInputStream"%> > <%@ page import="java.io.DataOutputStream"%> > > <%@ page import="java.io.BufferedWriter"%> > <%@ page import="java.io.FileWriter"%> > <%@ page import="java.io.IOException"%> > > > > <% > > String username = "TestUserId"; > > String old_p_word = "oldPassword"; > > String new_p_word = "newPassword"; > > Process proc = null; > > > Runtime thisRun = Runtime.getRuntime(); > > String cmd = "passwd " + username; > > proc = thisRun.exec(cmd); > > > //Returns a Stream connected to the output of the > child process. > > DataInputStream inputstream = new > DataInputStream(proc.getInputStream()); > //Reads output from process > > String procOutputline = inputstream.readLine(); > > if (procOutputline != null) > { > out.println("Process output: " + > procOutputline); > } > > //Returns a Stream connected to the input of the > child > process. > //we assume user exists and that the process will > ask > for the old password first. > > DataOutputStream outputstream = new > DataOutputStream(proc.getOutputStream()); > outputstream.writeBytes(old_p_word); > > > //read output from process. We assume that the > process > will ask for the new password > procOutputline = inputstream.readLine(); > > if (procOutputline != null) > { > out.println("Process output: " + > procOutputline); > } > > //send value of new password to the process. > outputstream.writeBytes(new_p_word); > > > //Process should ask us to confirm the new password > //Returns a Stream connected to the output of the > child process. > > procOutputline = inputstream.readLine(); > > if (procOutputline != null) > { > out.println("Process output: " + > procOutputline); > } > > //confirm the new password to the process. > outputstream.writeBytes(new_p_word); > > > //Waits for the subprocess to complete. > proc.waitFor(); > > //Returns the exit value for the subprocess. > out.println("Process existed with value: " > +proc.exitValue()); > > //Returns the an InputStream connected to the error > stream of the child process. > DataInputStream errorinputstream = new > DataInputStream(proc.getErrorStream()); > String line = errorinputstream.readLine(); > > if (line != null) > { > throw new Exception("There was a problem > changing password for : " + username + " --" + > line); > } > > //out.println("The output string is > "+proc.toString()); > proc.destroy(); > > > %> > > ================= End of code. > > > > __________________________________________________ > Do You Yahoo!? > Send FREE Valentine eCards with Yahoo! Greetings! > http://greetings.yahoo.com > > -- > To unsubscribe: > <mailto:[EMAIL PROTECTED]> > For additional commands: > <mailto:[EMAIL PROTECTED]> > Troubles with the list: > <mailto:[EMAIL PROTECTED]> > > -- > To unsubscribe: > <mailto:[EMAIL PROTECTED]> > For additional commands: > <mailto:[EMAIL PROTECTED]> > Troubles with the list: > <mailto:[EMAIL PROTECTED]> > __________________________________________________ Do You Yahoo!? Send FREE Valentine eCards with Yahoo! Greetings! http://greetings.yahoo.com -- To unsubscribe: <mailto:[EMAIL PROTECTED]> For additional commands: <mailto:[EMAIL PROTECTED]> Troubles with the list: <mailto:[EMAIL PROTECTED]>