Mail Archives: cygwin/2001/03/15/07:54:21
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
- Raw text -