Summary: ds_remove cannot remove/rename directories
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=251090
Description of problem:
ds_remove is supposed to remove all the specified slapd-ID directories except
etc/brand-ds/slapd-ID. The config dir name is renamed to slapd-ID.removed and
keep the cert/key DBs.
But if installing the server as root and set (nobody, nobody) to the server's
unix uid and gid, the instance dir and the config dir are left as is.
Attaching the email discussion with Rich.
------- Additional Comments From nhosoi(a)redhat.com 2007-08-06 21:21 EST -------
Created an attachment (id=160789)
--> (
https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=160789&action=...)
email discussion with Rich
------- Additional Comments From nhosoi(a)redhat.com 2007-08-07 14:15 EST -------
Created an attachment (id=160834)
--> (
https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=160834&action=...)
cvs diff DSCreate.pm.in
Files: ldapserver/ldap/admin/src/scripts/DSCreate.pm.in
Changes: when creating inst_dir and config_dir, make sure the parent dirs
(lib/<brand>-ds and etc/<brand>-ds) have the specified gid.
------- Additional Comments From nhosoi(a)redhat.com 2007-08-07 14:20 EST -------
Created an attachment (id=160835)
--> (
https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=160835&action=...)
cvs diff (adminserver)
Files:
adminserver/admserv/cgi-src40/ds_remove.in
newinst/src/AdminUtil.pm.in
newinst/src/register-ds-admin.pl.in
Description:
ds_remove.in: fixing a syntax error
AdminUtil.pm.in: return an error when connection fails
register-ds-admin.pl: fixing the error checking
------- Additional Comments From nhosoi(a)redhat.com 2007-08-07 14:22 EST -------
How bo verify the bug:
A. creating server instances
# become root and run the setup scripts as follows
# choose nobody, nobody for the UNIX user and group
1. sbin/setup-ds-admin.pl # create a config server
2. sbin/setup-ds-admin.pl # create a sub server sub1
3. startconsole # create a sub server sub2
4. sbin/setup-ds.pl; sbin/register-ds-admin.pl # create a sub server sub3
B. removing server instances
Console: remove a sub server (sub3)
Expected result:
# du -a | egrep sub3
20 ./etc/fedora-ds/slapd-sub3.removed/key3.db
20 ./etc/fedora-ds/slapd-sub3.removed/secmod.db
72 ./etc/fedora-ds/slapd-sub3.removed/cert8.db
120 ./etc/fedora-ds/slapd-sub3.removed
Command line:
sbin/ds_removal -s sub2 -w <admin_password>
Expected result:
# du -a | egrep sub2
20 ./etc/fedora-ds/slapd-sub2.removed/key3.db
20 ./etc/fedora-ds/slapd-sub2.removed/secmod.db
72 ./etc/fedora-ds/slapd-sub2.removed/cert8.db
120 ./etc/fedora-ds/slapd-sub2.removed