That's interesting. There isn't a way to do what you want, at least not directly. I'll put an enhancement request in against ommodu so I can fix it at some stage.
There is an indirect way that I've just tried out. The trick is to use at omadmidp (admin id pool). First, run
omadmidp -uxv. This will give you a detailed breakdown of what IDs are in use, eg on my system it said:
Code: Select all
[OM 28612] 7 entries in the range requested are currently in use.
System Id Scalix Id.
36000 102
36001 103
36002 104
36003 105
36004 106
36005 107
36007 167
[OM 28609] 1 Scalix Id's are incorrectly registered in the system id pool
and require removal.
System Id Scalix Id.
36006 153
Start of block: 36000
Range of block: 5000
Used in block: 8
Since this is one of my development installations and I do appalling things to it the error is not unexpected or surprising. Anyway, from the list I can see that UID 36008 is free. I next did what you should never do; created a unix accont with that UID and set the user (called "exp") to that UID:
Code: Select all
useradd -u 36008 -g users -M exp
ommodu -o exp -u exp
userdel exp
The
-M flag to useradd makes sure I don't get a home directory I don't want.
Re-running
omadmidp -uxv now shows up a different error, namely:
Code: Select all
[OM 28611] 1 system id's are missing their corresponding Scalix id
System Id Scalix Id.
36008 0
I can just fix this with the
-f flag and everything is hunky dory:
Code: Select all
# omadmidp -uxvf
[OM 28612] 8 entries in the range requested are currently in use.
System Id Scalix Id.
36000 102
36001 103
36002 104
36003 105
36004 106
36005 107
36007 167
36008 168
Start of block: 36000
Range of block: 5000
Used in block: 8
I'd recommend trying this out on a temporary installation rather than the live one to be sure that it works OK for you and that you're confident you know what you're doing. As I was playing with a development message store I really wasn't too bothered if things went pear shaped!
jch