Re: [Hampshire] Changing user passwords without shell access

Top Page

Reply to this message
Author: Steve Kemp
Date:  
To: Hampshire LUG Discussion List
Subject: Re: [Hampshire] Changing user passwords without shell access
On Wed, Feb 21, 2007 at 09:04:58PM -0500, Andy Random wrote:
>


> I have a number of users who have CVS/pserver access to a machine but who
> do not have shell login privileges on the machine.
>
> I'd like a way to let them set/change their own passwords (currently I'm
> having to create and distribute passwords when I create the account)
> without actually giving them the ability to login to the server.


One icky way of doing this is to set their login shell to be
/usr/bin/passwd - that way they can connect and are immediately
prompted for a new password.

In the past I admin'd a machine setup with a shell script which
could be simplified to this for each user:

#!/bin/sh

clear

while true; do

echo "Enter 'passwd' to change your password or 'quit' to exit"

read line

  case "$line" in 
    passwd|password)
          /usr/bin/passwd
          ;;
    quit)
          /usr/bin/clear
          echo "Exiting"
          exit
          ;;
      *)
          echo "Unrecognized response"
          ;;
  esac
done


Alternatively you might be able to just mandate the use of public
key based authentication and sidestep the entire problem ...

Steve
--