Index: [Article Count Order] [Thread]

Date:  Sat, 19 Aug 2006 01:22:26 -0400 (EDT)
From:  Greg Boehnlein <damin (at mark) nacs.net>
Subject:  [coba-e:06445] Re: cantRemoveFromSiteGroup
To:  coba-e (at mark) bluequartz.org
Message-Id:  <Pine.LNX.4.44.0608190059270.29296-100000 (at mark) nucleus.nacs.net>
In-Reply-To:  <Pine.LNX.4.44.0608181639190.11017-100000 (at mark) nucleus.nacs.net>
X-Mail-Count: 06445

On Fri, 18 Aug 2006, Greg Boehnlein wrote:

[DELETED]

> destroy 4984                      
> 305 WARN "[[base-vsite.cantRemoveFromSiteGroup]]"
> 401 FAIL
> 
> But again, when I try to destroy that OID I get 
> base-vsite.cantRemoveFromSiteGroup as the error returned. I just need to 
> figure out where that is coming from and either create the object that it 
> is complaining about so we can complete the removal of the site.

I dug pretty deeply into this, walking down back alleys, checking out 
shady source code, running straces and reverse engineering perl scripts. 
What follows is a brain dump of information that may/may not be helpful to 
others in the future. Since the list is archived, it may actually provide 
some value in the future.

The specific issue of cantRemoveFromSiteGroup is based in the following 
code in system_adminuser.pl;

    if ($remove)
    {
        if (!group_rem_members($user->{site}, $user->{name}))
        {
            $cce->bye('FAIL', 'cantRemoveFromSiteGroup');
            exit(1);
        }

So, I got clever and commented it out like so:

    if ($remove)
    {
        #if (!group_rem_members($user->{site}, $user->{name}))
        #{
        #    $cce->bye('FAIL', 'cantRemoveFromSiteGroup');
        #    exit(1);
        #}
    }

That allowed me to remove the administrative users from the system without 
a complaint.

However, I am still unable to remove the site. When I attempt do do so, I 
get the following message:

Site removal failed 
 
Task Status Unable to get the GID for site127. site127 does not appear to 
exist on the system.

Very strange..

[root@bq1 codb]# find | xargs grep 127
./txn/cleaned:R umask 000; /bin/ln -sf "../.users/26/tftadmin" 
"/home/.sites/12/site127/users/tftadmin"

./txn/cleaned:R /usr/bin/perl -I/usr/sausalito/perl -e "use Base::User 
qw(useradd); print STDERR \"ROLLBACK USERDEL\n\"; useradd({ 'name' => 
'tftadmin', 'uid' => '1537', 'group' => 'users', 'password' => 
'$1$kam0ZCBT$RTyjEMtCPKEVaYEVWVaFl.', 'comment' => 'tftadmin', 'homedir' 
=> '/home/.sites/12/site127/.users/26/tftadmin', 'dont_create_home' => 0, 
'shell' => '/bin/badsh' });"

./txn/rolledback:R /usr/bin/perl -I/usr/sausalito/perl -e "use Base::User 
qw(useradd); print STDERR \"ROLLBACK USERDEL\n\"; useradd({ 'name' => 
'SITE127-logs', 'uid' => '1384', 'group' => '', 'password' => '*', 
'comment' => 'tft.nacs.net', 'homedir' => '/home/.sites/12/site127/logs', 
'dont_create_home' => 1, 'shell' => '/bin/badsh' });"

./txn/rolledback:R /usr/bin/perl -I /usr/sausalito/perl -e "use Base::User 
qw(userdel); print STDERR \"ROLLBACK USERADD\n\"; userdel(0, 
'SITE127-logs');"

OK.. so let's see... Bascially, this comes back to a group problem 
somewhere in the system. Question is, where are the groups? They are not 
in /etc/passwd. They appear to be stored in /var/db/group.db and 
gshadow.db. But what is the correct format? How are these modified? What 
should I do?

-- 
    Vice President of N2Net, a New Age Consulting Service, Inc. Company
         http://www.n2net.net Where everything clicks into place!
                             KP-216-121-ST