Subject: OpenSSH-2.5.1p2-2 and remote logins: Problem and Workaround
From: Ralf Fassel <[email-masked]>
To: cygwin <[email-masked]>
Date: Thu, 15 Mar 2001 13:40:56 +0100 (MET)

Hi all,
with the latest cygwin/openssh combo, I encountered a weird problem
related to the default format of the HOME entries in /etc/passwd.
I thought this might be of interest for others, too.

- When a user has HOME set to c:/home/user, `mkpasswd -l' encodes this
  as /cygdrive/c/home/user.  So the passwd entry for that user looks
  like
     user::...:/cygdrive/c/home/user:/bin/sh

Starting bash locally from the desktop, everything is fine.

However, starting a remote session via sshd runs into problems:

PROBLEM:
- Using the default /bin/sh in /etc/passwd allows me to log in, but
  not to my HOME in c:/home/user.  Instead a directory
  c:/cygwin/cygdrive/c/home/user is created.  It looks like sshd does
  not grok the /cygdrive/c convention to mean c:/ but instead roots
  the path `as-is' at /, which is c:/cywgin.

- When I try to `cd c:/', it does not work:
    sh$ cd c:/
    sh$ pwd
    c
    sh$ ls
    ls: '.' no such file or directory
    sh$

- however:
    sh$ cd //c
    sh$ pwd
    //c
    sh$ ls
    [listing of c:/ as expected]

- Using /bin/bash as SHELL in /etc/passwd does not work at all, all
  programs immediately crash (as the `id' and `pwd' to set the
  prompt).

WORKAROUND:
If I change /etc/passwd to read //c/home/user instead of
/cygdrive/c/home/user, reboot to restart sshd and make it read the new
passwd file, everything works fine.  I'm logged into in my correct
HOME, "cd c:/" works.  I also can use /bin/bash in /etc/passwd w/o
problems.

It is somewhat unfortunate that the default output of `mkpasswd' leads
to these problems.

R'

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple