Index of /~abo/projects/cygwin-utils/
|../|| ||- ||Directory|
Cygwin Support Utilities
These utilities provide a convenient interface between the cygwin
command line and normal Windoze applications. The command "execw" will
execute a command, converting all parameters that look like unix-style
paths to windoze-style paths. The other commands are mostly wrappers
around this command to provide quick access to commonly used windows
Setting up Cygwin
Under NT, proper users and permissions means /etc/passwd and
/etc/group only need to be generated once. Under win9x, these files
must be generated each login to ensure they have the right user
details, before bash is executed. Also under NT, environment variables
can be set at the control panel, but under win9x must be set in a
The cygwin ssh package seems to ignore $home and insists on creating
.ssh in /home/$USER. This means $HOME _must_ be set to /home/$USER,
and whatever you want as home must be mounted there.
The following approach will create /home/$USER directories and mount a
samba home drive H: on it for each user when they first log in. Users
can specify their own $HOME to bypass this, but ssh will cause
problems if they do not use /home/$USER.
1) run the installer, use defaults for all answers unless you know
what you are doing. In particular DOS text mode is preferred.
2) If you are running on win9x, replace cygwin.bat with this modified
version in your cygwin directory. This will re-create /etc/passwd and
/etc/group for each cygwin session.
3) replace /etc/profile with the modified version. This version will
create /home/$USER and user-mount H: on it if it doesn't exist.
4) run Cygwin and run "mount -s <temp> /tmp" where <temp> is your
prefered temp directory (usually C:\WINNT\Temp or C:\Temp).
4) copy the file "bashrc" from this directory to
"/home/<user>/.bashrc", and all the other files to "/usr/local/bin".
5) You're all done!
NT Permissions and samba
When mounting home directories from samba shares under winNT, win2K, or winXP,
you need to enable smbntsec. Without doing this ssh will complain about
permissions in the ~/.ssh directory.
The best way to do this is to set a system environment variable as
Administrator under Control Panel; System; Advanced; Environment Variables to;
Make sure that cygwin.bat does not overide the CYGWIN variable without also
including this setting.
Note under samba you need to have "nt acl support" turned on, and "profile acls"
turned off, which are both defaults.