When I need to run a program with direct disk access, like read/write from /dev/sdb, I simply add the user to 'disk' group. In this way we don't need to disclose the root account the the user. However the user would also be able to access any other disks on the same machine.
Is there any finer-grained access control over this need? Could we assign full-access of disks, volumes, or volume groups to some users or groups? When a user need a physical disk to do his own stuff, I won't have the concern that he may destroy the other parts of the system.
(I tried to set owner of a /dev/sdb to a users, but it does not work.)