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