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
--help us help you! If you post a question, make sure you include a CREATE TABLE... statement and INSERT INTO... statement into that table to give the volunteers here representative data. with your description of the problem, we can provide a tested, verifiable solution to your question! asking the question the right way gets you a tested answer the fastest way possible!