Few days back I mistakenly formatted a partition on my external hard drive by clicking Format from the Context menu in Computer. I want to know that how can I prevent non-root user from being able to do so. At the same time I need the non-root user to be able to read and write on the partition.
I use Fedora 14.
Thanks.
Best Answer
As nc3b already pointed out, this gets controlled by PolicyKit. The policy for disks is located at:
/usr/share/polkit-1/actions/org.freedesktop.udisks.policy
and can be adjusted.Open it with root rights and search for the line:
<action id="org.freedesktop.udisks.change">
, either comment out the whole block:<!-- [udisks.change-block] -->
, or set<allow_active>
to 'no', save and exit.Check if it's disabled:
Or if you've set
no
:Good, next time you try to format a device as a non-root user, either over the context menu or over 'Disk Utility', an error message will appear an disallow it. This step will still allow the non-root user to read/write the device.
If you still want to allow formating of devices, but with a higher security level, you can force PolicyKit to ask for a password every time.
Open the same file and go to the same section, substitute the 'yes' with 'auth_admin' in
allow_active
:Check:
Excellent!
Note: I've only tested this on Ubuntu, but Fedora also uses PolicyKit, so try it with a dummy drive first.