a person with db_owner on the database has the ability to backup / restore or drop the database they own.
if they drop it, they most likely would not have the ability to restore a db as new.
so they can only restore over the top of their existing.
i believe it is possible, where if they were restoring a copy of production to test for example,, they could overwrite the database they have access to, with one that they do not have access to, because they are not db_owner in the backup they restore from; i'd have to test that to confirm.
in that case, you might want to create a procedure with execute as owner, that restores a database, and then adds specific users to the db on Test
Lowell