This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Cygwin 1.5.18-1 on Windows XP group & passwd problem


Igor Peshansky wrote:

> 
> You said you get the same message for a bash shell?  Could you please try
> to capture the output (by opening a CMD.EXE window and typing
> "c:\cygwin\cygwin.bat")?

Output follows:

C:\Documents and Settings\kallender>c:\cygwin\cygwin.bat
CreateFileandSetSecurity failed with FALSE (Expected on FAT Partitions)
GLE: 32
CreateFileandSetSecurity failed with TRUE (not expected) GLE: 32
CreateFileandSetSecurity failed with FALSE (Expected on FAT Partitions)
GLE: 32
CreateFileandSetSecurity failed with TRUE (not expected) GLE: 32
CreateFileandSetSecurity failed with FALSE (Expected on FAT Partitions)
GLE: 32
CreateFileandSetSecurity failed with TRUE (not expected) GLE: 32
CreateFileandSetSecurity failed with FALSE (Expected on FAT Partitions)
GLE: 32
CreateFileandSetSecurity failed with TRUE (not expected) GLE: 32
$

> 
>> Output of a re-run of the commands is as follows:
>>
>> kallender@nc-dm-dc141 /etc
>> $ mkpasswd -l -d > /etc/passwd
>> mkpasswd (731): [2453] Could not find domain controller for this domain.
> 
> Hmm.  How about "mkpasswd -l -c > /etc/passwd"?

passwd then looks like this (starting with an empty file:

CreateFileandSetSecurity failed with FALSE (Expected on FAT Partitions)
GLE: 32
CreateFileandSetSecurity failed with TRUE (not expected) GLE: 32
SYSTEM:*:18:544:,S-1-5-18::
Administrators:*:544:544:,S-1-5-32-544::
Administrator:unused_by_nt/2000/xp:500:513:U-NC-DM-DC141\Administrator,S-1-5-21-
1220945662-1547161642-682003330-500:/home/Administrator:/bin/bash
Guest:unused_by_nt/2000/xp:501:513:U-NC-DM-DC141\Guest,S-1-5-21-1220945662-15471
61642-682003330-501:/home/Guest:/bin/bash
HelpAssistant:unused_by_nt/2000/xp:1000:513:Remote Desktop Help
Assistant Accoun
t,U-NC-DM-DC141\HelpAssistant,S-1-5-21-1220945662-1547161642-682003330-1000:/hom
e/HelpAssistant:/bin/bash
SUPPORT_388945a0:unused_by_nt/2000/xp:1002:513:CN=Microsoft
Corporation,L=Redmon
d,S=Washington,C=US,U-NC-DM-DC141\SUPPORT_388945a0,S-1-5-21-1220945662-154716164
2-682003330-1002:/home/SUPPORT_388945a0:/bin/bash
kallender:unused_by_nt/2000/xp:31363:10545:kallender,U-MEDIACOMCORP\kallender,S-
1-5-21-727417886-63593122-2613945857-21363:/cygdrive/c/Documents and
Settings/kallender:/bin/bash


> 
>> kallender@nc-dm-dc141 /etc
>> $ mkgroup -l > /etc/group
>>
>> Contents of the files:
>>
>> passwd:
>>
>> SYSTEM:*:18:544:,S-1-5-18::
>> Administrators:*:544:544:,S-1-5-32-544::
>> Administrator:unused_by_nt/2000/xp:500:513:U-NC-DM-DC141\Administrator,S-1-5-21-1220945662-1547161642-682003330-500:/home/Administrator:/bin/bash
>> Guest:unused_by_nt/2000/xp:501:513:U-NC-DM-DC141\Guest,S-1-5-21-1220945662-1547161642-682003330-501:/home/Guest:/bin/bash
>> HelpAssistant:unused_by_nt/2000/xp:1000:513:Remote Desktop Help Assistant Account,U-NC-DM-DC141\HelpAssistant,S-1-5-21-1220945662-1547161642-682003330-1000:/home/HelpAssistant:/bin/bash
>> SUPPORT_388945a0:unused_by_nt/2000/xp:1002:513:CN=Microsoft Corporation,L=Redmond,S=Washington,C=US,U-NC-DM-DC141\SUPPORT_388945a0,S-1-5-21-1220945662-1547161642-682003330-1002:/home/SUPPORT_388945a0:/bin/bash
> 
> I noticed that the "kallender" user is missing from /etc/passwd.
> According to the "id" output, "kallender" is definitely a domain user.
> Perhaps you need to specify the domain name explicitly (as in "mkpasswd -l
> -u kallender -d DOMAINNAME")?
> 
>> group:
>>
>> CreateFileandSetSecurity failed with FALSE (Expected on FAT Partitions) GLE: 32
>> CreateFileandSetSecurity failed with TRUE (not expected) GLE: 32
> 
> Heh...  You should remove those two lines -- they may be screwing up the
> parsing of /etc/group...

I have removed these lines.  Exiting the bash shell and re-entering it,
I encounter the same error.

When I included the domain name as suggested above, I end up with an
empty passwd file.  Output is:

$ mkpasswd -l -u kallender -d MEDIACOMCORP.COM > /etc/passwd
mkpasswd (257): [2221] The user name could not be found.
$ mkpasswd -l -u kallender -d MEDIACOMCORP > /etc/passwd
mkpasswd (257): [2221] The user name could not be found.
$ cat /etc/passwd
CreateFileandSetSecurity failed with FALSE (Expected on FAT Partitions)
GLE: 32
CreateFileandSetSecurity failed with TRUE (not expected) GLE: 32
$

>>
>> A further clue _might_ be this:
>>
>> kallender@nc-dm-dc141 /etc
>> $ ssh -X kylea@192.168.1.100
>> CreateFileandSetSecurity failed with FALSE (Expected on FAT Partitions) GLE: 32
>> CreateFileandSetSecurity failed with TRUE (not expected) GLE: 32
>> The authenticity of host '192.168.1.100 (192.168.1.100)' can't be established.
>> RSA key fingerprint is 6d:2d:77:1f:1f:41:04:96:62:f1:5c:76:16:23:b2:2b.
>> Are you sure you want to continue connecting (yes/no)? yes
>> Warning: Permanently added '192.168.1.100' (RSA) to the list of known hosts.
>> Password:
>> CreateFileandSetSecurity failed with FALSE (Expected on FAT Partitions) GLE: 32
>> CreateFileandSetSecurity failed with TRUE (not expected) GLE: 32
>> x11_request_forwarding: bad authentication data: with
> 
> How is this a clue?  The above is a one-time message from ssh -- using ssh
> again will not print this.

As I said, it _might_ be a clue.  I'm really not sure - interaction
between Windows and UNIX is not my realm of expertise (is it anyone's?).
 I do get that message every time I run ssh though - at least the Create
part.  And it is not able to connect to a remote host, regardless of
flags passed to ssh on the CLI.

> 
>> It is almost as if there are permissions on disk that are not correct.
>> The suggested command you provided above does not seem to have helped.
>>
>> What could possibly be causing this?
> 
> Looks like these messages may be caused by something in your bash
> initialization scripts.  If you get this output from a plain bash (by
> running cygwin.bat), here's a suggestion: from a CMD.EXE window, run
> 
> cd c:\cygwin\bat
> .\bash.exe -v --login -i

The attached text file contains that output.  It appears to show up the
first time after the profile.d scripts are called.

The ownership on the various files is starting to look better than it
did, but something's still amiss, judging by the errors in the attached
file.

I appreciate the assistance in debugging this problem.

> 
> And see after what lines the messages appear.
> 
> FWIW, I didn't find any place in the Cygwin sources that prints out the
> above message -- is it even coming from a Cygwin application?
> 	Igor

-- 
Kyle Allender
Sr. UNIX Administrator
Mediacom Communications Corporation
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\kallender>cd c:\cygwin\bat
The system cannot find the path specified.

C:\Documents and Settings\kallender>cd c:\cygwin

C:\cygwin>dir
 Volume in drive C has no label.
 Volume Serial Number is F816-E092

 Directory of C:\cygwin

12/23/2005  01:21 PM    <DIR>          .
12/23/2005  01:21 PM    <DIR>          ..
12/23/2005  01:19 PM    <DIR>          bin
12/23/2005  01:21 PM                57 cygwin.bat
12/23/2005  01:21 PM             7,022 cygwin.ico
12/23/2005  01:44 PM    <DIR>          etc
12/23/2005  01:19 PM    <DIR>          lib
12/23/2005  01:15 PM    <DIR>          usr
12/23/2005  01:18 PM    <DIR>          var
               2 File(s)          7,079 bytes
               7 Dir(s)   4,094,054,400 bytes free

C:\cygwin>cd bin

C:\cygwin\bin>bash --verbose --login -i
# base-files version 3.6-1

# WARNING
#
# IF THIS FILE IS MODIFIED IT WILL NOT BE UPDATED BY THE CYGWIN
# SETUP PROGRAM.  IT BECOMES YOUR RESPONSIBILITY.

# The latest version as installed by the Cygwin Setup program can
# always be found at /etc/defaults/etc/profile

# Some resources...

# Customizing Your Shell: http://www.dsl.org/cookbook/cookbook_5.html#SEC69
# Consistent BackSpace and Delete Configuration:
#   http://www.ibb.net/~anne/keyboard.html
# The Linux Documentation Project: http://www.tldp.org/
# The Linux Cookbook: http://www.tldp.org/LDP/linuxcookbook/html/

# Setup some default paths.  Note that this order will allow user installed
#  software to override 'system' software

# If you wish to change the path for all users, it is recommended you edit
#  /etc/bash.bashrc

# If you wish all future users to have some default setup, it is recommended you
#  edit /etc/skel/.bashrc

# If you wish to change the path on a user by user basis, it is recommended you
#  edit ~/.bashrc

PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:$PATH
export PATH

MANPATH=/usr/local/man:/usr/share/man:/usr/man:$MANPATH
export MANPATH

INFOPATH=/usr/local/info:/usr/share/info:/usr/info:$INFOPATH
export INFOPATH

# Set the user id
USER="`id -un`"
id -un
export USER

# Here is how HOME is set, in order of priority, when starting from Windows
#  1) From existing HOME in the Windows environment, translated to a Posix path
#  2) from /etc/passwd, if there is an entry with a non empty directory field
#  3) from HOMEDRIVE/HOMEPATH
#  4) / (root)

# If the home directory doesn't exist, create it.
if [ ! -d "${HOME}" ]; then
        mkdir -p "${HOME}"
        echo "Copying skeleton files."
        echo "These files are for the user to personalise"
        echo "their cygwin experience."
        echo
        echo "These will never be overwritten."
        echo
        cd /etc/skel
        /bin/find . -type f | while read f; do
                fDest=`echo ${f} | sed -e 's/^\.//g'`
                if [ ! -e "${HOME}${fDest}" -a ! -L "${HOME}${fDest}" ]; then
                        /usr/bin/install -D -p -v "${f}" "${HOME}/${fDest}"
                fi
        done
fi

chmod 1777 /tmp 2>/dev/null

# Default to unix make mode
MAKE_MODE=unix
export MAKE_MODE

# It is recommended that cvs uses ssh for it's remote shell environment
CVS_RSH=/bin/ssh
export CVS_RSH

# Patches to Cygwin always appreciated ;)
# CVSROOT=:pserver:anoncvs@sources.redhat.com:/cvs/src
# export CVSROOT

# Shell dependent settings
case "`echo "_$0" | /usr/bin/tr '[:upper:]' '[:lower:]' | /usr/bin/sed -e 's/^_//'`" in
bash     | -bash     | */bash | \
bash.exe | -bash.exe | */bash.exe )
        # Set a HOSTNAME variable
        HOSTNAME=`hostname`
        export HOSTNAME

        # Set a default prompt of: user@host and current_directory
        PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$ '
        ;;
ksh*     | -ksh*     | */ksh* | \
ksh*.exe | -ksh*.exe | */ksh*.exe )
        # Set a HOSTNAME variable
        typeset -l HOSTNAME

        # Set a default prompt of: user@host and current_directory
        PS1='^[]0;${PWD}^G
^[[32m${USER}@${HOSTNAME} ^[[33m${PWD}^[[0m
$ '
        ;;
zsh*     | -zsh*     | */zsh* | \
zsh*.exe | -zsh*.exe | */zsh*.exe )
        # Set a default prompt of: user@host, a command counter, and current_directory
        PS1='(%n@%m)[%h] %~ %% '

        # Set SHELL if not set
        if [ ! -z "${ZSH_NAME}" -a -z "${SHELL}" ]; then
                SHELL="/bin/zsh"
                export SHELL
        fi
        ;;
sh     | -sh     | */sh | \
sh.exe | -sh.exe | */sh.exe )
        # Set a simple prompt
        PS1='$ '
        ;;
* )
        # Sorry, this shell has no defaults in /etc/profile,
        #  feel free to add your own.

        # If you have some recommendations for what these defaults
        #  should be, please contact cygwin@cygwin.com with the
        #  shell details and what you would like added.

        # Thanks

        PS1='$ '
        ;;
esac
echo "_$0" | /usr/bin/tr '[:upper:]' '[:lower:]' | /usr/bin/sed -e 's/^_//'

export PS1

# Run all of the profile.d scripts
# Note that these are supplied by separate packages
# Ascending alphanumerical order enforced
if [ -d "/etc/profile.d" ]; then
        while read f; do
                if [ -f "${f}" ]; then
                        . "${f}"
                fi
        done <<- EOF
fi
CreateFileandSetSecurity failed with FALSE (Expected on FAT Partitions) GLE: 32
CreateFileandSetSecurity failed with TRUE (not expected) GLE: 32
/bin/find /etc/profile.d -type f -iname '*.sh' -or -iname '*.zsh' | LC_ALL=C sort
# Bash profile.d script.  This is sourced by the default /etc/profile to
# ensure that /bin/sh exists and is runnable, updating older copies of ash
# or bash as appropriate, while leaving other shells (ksh or zsh) alone.
# Because it is sourced by any shell, including ash, it must be portable and
# not pollute the environment.

# Short circuit: if sh is not older than bash, stop now.  /bin/test
# correctly reports that a missing /bin/sh is older than an existing bash.

/bin/test /bin/sh.exe -ot /bin/bash.exe || return 0
# The script name starts with 00 to ensure that it is executed before any
# other scripts because one of them may need to know where X is to run
# properly.

# Check if the PATH variable is empty or not
if test -n "${PATH}"; then
  # PATH is not empty

  # Check if path is already in PATH
  if ! /bin/echo ${PATH} | /bin/grep -q /usr/X11R6/bin ; then
    # Path is not already in PATH, prepend it to PATH
    export PATH="/usr/X11R6/bin:${PATH}"
  fi
else
  # PATH is empty
  export PATH="/usr/X11R6/bin"
fi
CreateFileandSetSecurity failed with FALSE (Expected on FAT Partitions) GLE: 32
CreateFileandSetSecurity failed with TRUE (not expected) GLE: 32
export MANPATH="${MANPATH}:/usr/ssl/man"
export QTDIR=/usr/lib/qt3
export QMAKESPEC=/usr/lib/qt3/mkspecs/cygwin-g++
export MANPATH="${MANPATH}:/usr/share/qt3/doc/man"
# Check if the PKG_CONFIG_PATH variable is empty or not
if test -n "${PKG_CONFIG_PATH}"; then
  # PKG_CONFIG_PATH is not empty

  # Check if path is already in PKG_CONFIG_PATH
  if ! /bin/echo ${PKG_CONFIG_PATH} | /bin/grep -q /usr/X11R6/lib/pkgconfig ; then
    # Path is not already in PKG_CONFIG_PATH,
    # prepend it to PKG_CONFIG_PATH
    export PKG_CONFIG_PATH="/usr/X11R6/lib/pkgconfig:${PKG_CONFIG_PATH}"
  fi
else
  # PKG_CONFIG_PATH is empty
  export PKG_CONFIG_PATH="/usr/X11R6/lib/pkgconfig"
fi
# NOTE: MANPATH is special, it requires a leading : in order to
# search its default paths in addition to those specified in MANPATH.

export MANPATH="${MANPATH}:/usr/X11R6/man"

# Uncomment to use the terminal colours set in DIR_COLOR
# eval "`dircolors -b /etc/DIR_COLORS`"

# Default to removing the write permission for group and other
#  (files normally created with mode 777 become 755; files created with
#  mode 666 become 644)
umask 022

# Define default printer
PRINTER=""
case `uname -s` in
CYGWIN_NT-*)
        PRINTER="`regtool -q get '\user\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device' | sed 's/,.*$//'`
        ;;
CYGWIN_9?-*)
        PRINTER="`regtool -q get '\config\System\CurrentControlSet\Control\Print\Printers\Default'`"
        ;;
esac
uname -s
CreateFileandSetSecurity failed with FALSE (Expected on FAT Partitions) GLE: 32
regtool -q get '\user\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device' | sed 's/,.*$//'
export PRINTER

# Make sure we start in home unless invoked by CHERE
if [ ! -z "${CHERE_INVOKING}" ]; then
  unset CHERE_INVOKING
else
  cd "${HOME}"
fi

# Check to see if mkpasswd/mkgroup needs to be run try and cut down the emails
#   about this on the lists!
# If this message keeps appearing and you are sure it's a mistake (ie, don't
#   email about it!), comment out the test below.
case `id -ng` in
mkpasswd )
  echo "Your group is currently \"mkpasswd\".  This indicates that"
  echo "the /etc/passwd (and possibly /etc/group) files should be rebuilt."
  echo "See the man pages for mkpasswd and mkgroup then, for example, run"
  echo "mkpasswd -l [-d] > /etc/passwd"
  echo "mkgroup  -l [-d] > /etc/group"
  echo "Note that the -d switch is necessary for domain users."
  ;;

mkgroup )
  echo "Your group is currently \"mkgroup\".  This indicates that"
  echo "the /etc/group (and possibly /etc/passwd) files should be rebuilt."
  echo "See the man pages for mkpasswd and mkgroup then, for example, run"
  echo "mkpasswd -l [-d] > /etc/passwd"
  echo "mkgroup  -l [-d] > /etc/group"
  echo "Note that the -d switch is necessary for domain users."
  ;;

mkgroup_l_d )
  echo "Your group name is currently \"mkgroup_l_d\". This indicates that not"
  echo "all domain users and groups are listed in the /etc/passwd and"
  echo "/etc/group files."
  echo "See the man pages for mkpasswd and mkgroup then, for example, run"
  echo "mkpasswd -l -d > /etc/passwd"
  echo "mkgroup  -l -d > /etc/group"
  echo
  echo "This message is only displayed once (unless you recreate /etc/group)"
  echo "and can be safely ignored."

  # only display the above once
  cp -f /etc/group "${HOME}/group.mkgroup_l_d" \
  && ( [ -w /etc/group ] || chmod --silent a+w /etc/group ; )\
  && sed -e 's/^mkgroup_l_d/mkgroup-l-d/' "${HOME}/group.mkgroup_l_d" > /etc/group \
  && chmod --silent --reference=/etc/passwd /etc/group
  rm -f "${HOME}/group.mkgroup_l_d"
  ;;
esac
id -ng
Your group is currently "mkpasswd".  This indicates that
the /etc/passwd (and possibly /etc/group) files should be rebuilt.
See the man pages for mkpasswd and mkgroup then, for example, run
mkpasswd -l [-d] > /etc/passwd
mkgroup  -l [-d] > /etc/group
Note that the -d switch is necessary for domain users.
$


+++++++++++++++++


When running the profile.d scripts by hand, in the order they would normally run, 00bash.sh outputs:

$ ./00bash.sh
./00bash.sh
CreateFileandSetSecurity failed with FALSE (Expected on FAT Partitions) GLE: 32
CreateFileandSetSecurity failed with TRUE (not expected) GLE: 32
./00bash.sh: line 10: return: can only `return' from a function or sourced script
CreateFileandSetSecurity failed with FALSE (Expected on FAT Partitions) GLE: 32
CreateFileandSetSecurity failed with TRUE (not expected) GLE: 32
./00bash.sh: line 22: return: can only `return' from a function or sourced script
CreateFileandSetSecurity failed with FALSE (Expected on FAT Partitions) GLE: 32
CreateFileandSetSecurity failed with TRUE (not expected) GLE: 32
CreateFileandSetSecurity failed with FALSE (Expected on FAT Partitions) GLE: 32
CreateFileandSetSecurity failed with TRUE (not expected) GLE: 32

Line 10 of that file is a test against sh.exe & bash.exe regarding age of the files:

# Short circuit: if sh is not older than bash, stop now.  /bin/test
# correctly reports that a missing /bin/sh is older than an existing bash.

/bin/test /bin/sh.exe -ot /bin/bash.exe || return 0

+++++++++++++++++++

sh.exe does exist:

$ pwd
pwd
/bin
$ ls -ld sh*
ls -ld sh*
CreateFileandSetSecurity failed with FALSE (Expected on FAT Partitions) GLE: 32
CreateFileandSetSecurity failed with TRUE (not expected) GLE: 32
-rwxr-x---+ 1 kallender Users 449536 Dec 23 13:18 sh.exe
-rwxr-x---+ 1 kallender Users  33792 Jul 13 07:55 sha1sum.exe
-rwxr-x---+ 1 kallender Users   4608 Jul  9 00:53 shmtool.exe
-rwxr-x---+ 1 kallender Users  39936 Jul 13 07:55 shred.exe
$


--
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/

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]