This is the latest port of `login(1)' to work under Cygwin since version 1.3.6 with eg. telnetd(8). ====================================================================== Under NT/2K/XP, login(1) is _not_ supposed to work on the command line to change user context! Though you're able to tweak user permissions to get login(1) working that way, that's NOT officially supported. ====================================================================== This version now supports login w/o password, supported beginning with Cygwin version 1.3.6. Note that this is explicitly allowed only in limited cases: (1) NT/2k/XP: SYSTEM user, or a specially privileged user (see below) (2) Windows Server 2003, 2008, and Vista: a specially privileged user The user account that login is invoked by must have the following privileges: SeAssignPrimaryTokenPrivilege SeCreateTokenPrivilege SeTcbPrivilege SeIncreaseQuotaPrivilege On NT/2k/XP, the SYSTEM user (aka LocalSystem) has these privileges. However, on newer versions of Windows, it does not, and a special user account must be created. Most of the -config scripts can create this account for you (such as ssh-host-config from the openssh package, or iu-config from the inetutils package, etc). The user account should also be a member of the local Administrators group (unless you are on NT/2k/XP, and are using SYSTEM). This change now allows interactive login with rlogin(1) and rsh(1) using rhosts authentication. Login(1) uses all new logon features of 1.1.3. Moreover it's code is slighty cleaned up to avoid compiler warnings. On Win9X systems the password authentication is done via 56 bit DES encrypted passwords in /etc/passwd. To generate those passwords you can use `crypt.exe' from the crypt package on the same site or you copy your encrypted password from your Linux box. The rest of the description is for NT/W2K/XP/Vista/... For usage with NT/W2K security, `login' is patched to allow login of domain users. Setting CYGWIN=ntsec is mandatory for that feature. /etc/passwd and /etc/group have to be created so that they contain the SIDs of the users and groups. The new mkpasswd and mkgroup tools since cygwin V1.1.0 create the files that way by default. Change /etc/passwd either so: Change the pw_name field so that it contains the nt-domain and the nt-username separated by a backslash: domain\user::1104:513:John Doe,S-1-5-21-... Disadvantage: You can't see the username in calls to `ls -l' anymore because ls shortens the name to 8 characters. Moreover you will have to use this long form (domain\user) on the command line, eg. in calls to chown(1). or so: The pw_gecos field may contain an additional field, that beginns with (upper case!) "U-", followed by the domain and the username separated by a backslash. CAUTION: The SID _must_ remain the _last_ field in pw_gecos!!! BTW: The field separator in pw_gecos is the comma. The username in pw_name itself may be any nice name: domuser::1104:513:John Doe,U-domain\user,S-1-5-21-... Now you may use `domuser' as your login name with telnet!!! This is possible additionally for local users, if you don't like your NT login name ;-) You only have to leave out the domain: locuser::1104:513:John Doe,U-user,S-1-5-21-... Disadvantage: No other field in pw_gecos may begin with "U-". Please send requests, error reports etc. to the mailing list cygwin@cygwin.com Have fun, Corinna