delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/05/20/13:06:18

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Subject: RE: script to change home path in /etc/passwd
MIME-Version: 1.0
Date: Tue, 20 May 2003 13:05:38 -0400
X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0
content-class: urn:content-classes:message
Message-ID: <BADF3C947A1BD54FBA75C70C241B0B9E90BA97@ex02.idirect.net>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
From: "Harig, Mark A." <maharig AT idirect DOT net>
To: <cygwin AT cygwin DOT com>, "sferriol" <sylvain DOT ferriol AT imag DOT fr>
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id h4KH6Iv08021

Taking Igor's quoting recommendation into account we have:

#!/bin/bash

if [ `uname -o` = Cygwin ]; then
	/bin/grep -v "$USERNAME" /etc/passwd > /tmp/passwd-minus &&
	/bin/mv /tmp/passwd-minus /etc/passwd &&
	/usr/bin/mkpasswd -d -p "${HOME%/*}" -u "$USERNAME" >> /etc/passwd
fi

I've forgotten what it is, but there is some way to
decide whether to pass '-d' or '-l' to 'mkpasswd'.

> -----Original Message-----
> From: Igor Pechtchanski [mailto:pechtcha AT cs DOT nyu DOT edu]
> Sent: Monday, May 19, 2003 11:27 AM
> To: sferriol
> Cc: cygwin AT cygwin DOT com
> Subject: Re: script to change home path in /etc/passwd
> 
> 
> On Mon, 19 May 2003, sferriol wrote:
> 
> > hello
> > i see that ssh read /etc/passwd for searching keys and other files.
> > i've made a little script to change the home path in /etc/passwd
> > it's not perfect and may be need improvements.
> >
> > #!/bin/bash
> >
> > OS=`uname -o`
> >
> > # in cygwin case
> > if [ ${OS} == "Cygwin" ]; then
> >
> >         /bin/cp -p /etc/passwd /etc/passwd-bak-tmp &&
> >         /bin/grep -v ${USERNAME} /etc/passwd-bak-tmp > 
> /etc/passwd &&
> >         mkpasswd -l -u ${USERNAME} -p ${HOME} > 
> /etc/passwd-bak-tmp &&
> >         /bin/sed -e "s/\/${USERNAME}:/:/" 
> /etc/passwd-bak-tmp >> /etc/passwd &&
> >         /bin/rm -f /etc/passwd-bak-tmp
> > fi
> >
> > Sylvain
> 
> Sylvain,
> 
> The above looks useful, but, at first glance, is missing *a lot* of
> quoting.  I'd say that at least all variable expansions 
> (${VAR}) have to
> be double-quoted.  I would also use a pipe instead of 
> /etc/passwd-bak-tmp
> in the last mkpasswd/sed chain, but that's pretty minor.
> I'll take a better look later, if I have time.
> 	Igor
> -- 
> 				http://cs.nyu.edu/~pechtcha/
>       |\      _,,,---,,_		pechtcha AT cs DOT nyu DOT edu
> ZZZzz /,`.-'`'    -.  ;-;;,_		igor AT watson DOT ibm DOT com
>      |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski
>     '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!
> 
> "I have since come to realize that being between your mentor 
> and his route
> to the bathroom is a major career booster."  -- Patrick Naughton
> 
> 
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Problem reports:       http://cygwin.com/problems.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/
> 
> 

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019