There are only a few options for Bukkit and they all tend to be a little complicated. Most people use
bPermissions or
PermissionsEx (aka PEX) but a more rudimentary version is
PermissionsBukkit. The problem is always whether you can just describe sets of commands as
warp.* or whether you have to spell them out individually. e.g.
warp.to.global,
warp.to.own. The other issue is whether you want to make things easier for yourself by setting the permissions under a group name, and then assigning players to groups. Some of these permissions plugins also allow permissions to be written in files, stored in a DB and/or changed through in-game or in-serverconsole commands.
If you do it by groups, I would define at least three groups - Default, Special, Admin. That way, the default player can have any commands that you don't mind anyone using. The Admin can have access to all commands and all plugins. The Special can have the same as the Default, plus a few more special abilities. These permissions can refer to both the normal in-game commands and those of any plugins.
Some permissions also help define the look of the names in the chat window, by defining the prefix and suffix to the name. This allows group titles and colour changes.
Hope this helps. If you want any help with the one we use on the TOG servers, send me a PM and I can go into more detail.
And yes, we had trouble resetting the spawnpoint for a while. Not all mods are fully up-to-date. If you want to change the size of the spawn protection area that non-ops can't change, look in the bukkit.yml file at the setting for spawn-radius.
Sorontar