This is the mail archive of the cygwin@cygwin.com 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: ssh-host-config suggestion (was: Re: Updated: OpenSSH-3.5p1-1)


* Corinna Vinschen
| > - the ssh-host-config script should make sure that CYGWIN contains
| >   `ntsec' when trying the chmod/chown steps
| 
| That shouldn't be necessary anymore since 1.3.14 sets ntsec by
| default on NT systems.

Good Thing (TM).  But then, why didn't the chown call succeed?  Or do
you mean it is set in the environment during installation?  I had
cygwin installed, and simply upgraded my installation.  I *know* that
CYGWIN had been set up for all users, but obviously someone else with
admin access thought otherwise in the meantime. :-/

| The problem (and the reason the script doesn't test the return code)
| is, there are several conditions for having a working chown.  It
| must be NT/2K/XP, ntsec must be on, FS must be NTFS.  The chown(2)
| syscall returns intentionally always 0 if any of these conditions
| isn't met.

Strictly spoken, those three conditions fall into two categories:
- wrong OS/Filesystem => nothing we can do
- wrong user environment => it *could* have worked if the user did not
  prevent it by the wrong/missing setting
But I admit that changing a bunch of programs is probably too much for
this, since a workaround exists via the additional test:

| There could be an additional test in the script after calling chown,
| though...

I would use `find -user | grep', but maybe there's a more elegant
solution in bash.

    $ find /var/empty -user system -type d | grep -q '^/var/empty$'
    $ echo $?
    0
    $ find /var/empty -user ralf -type d | grep -q '^/var/empty$'
    $ echo $?
    1
    $ find /var/empty-no -user system -type d | grep -q '^/var/empty$'
    find: /var/empty-no: No such file or directory
    $ echo $?
    1

The ultimate test of course is in /var/log/sshd.log, but... :-)

R'

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.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]