为什么我需要root权限才能在命令行卸载驱动器,而不是在Nautilus中? 怎么改变?
当我插入拇指驱动器,媒体卡或USB硬盘驱动器,通过命令行卸载它,我需要使用:
sudo umount /media/the_device
但是,我可以通过单击弹出按钮或使用设备上的右键单击上下文菜单在Nautilus等文件管理器中卸载设备。
区别的理由是什么? 如何更改它以便我可以从命令行卸载而无需root权限? 改变它是个坏主意吗?
编辑:如果它已更改,我运行9.04。 我已经运行了大多数版本5.10–9.04,据我所知,它一直是这样的。
Nautilus不直接卸载设备; 它将DBus与系统守护进程(udisks-daemon)进行对话并要求它卸载。
守护程序通过联系另一个系统守护程序PolicyKit来检查您是否允许这样做。
PolicyKit使用/usr/share/polkit-1/actions/org.freedesktop.udisks.policy
定义的配置(除非本地系统管理员在/etc/polkit-1
覆盖它)。 该文件告诉PolicyKit,具有活动控制台会话的用户可以分离驱动器,因此PolicyKit会与第三个守护程序ConsoleKit通信,以查看您是否有活动的控制台会话。 通过gdm登录计为控制台会话; 通过ssh登录不会。
有一个命令行工具udisks
,允许您使用相同的机制在不使用sudo的情况下卸载设备:
udisks --unmount /dev/sdb1
卸载文件系统; 我也可以拆卸整个设备
udisks --detach /dev/sdb
这使我的USB钥匙上的LED变暗。
情况可能已经改变 – 在当前的Ubuntu 10.04 umount工作时没有sudo用于USB驱动器。 一般来说我认为这个命令
gvfs-mount -u /media/the_device
(gvfs-mount在gvfs-bin包中)应该始终有效。
- 如何允许用户仅使用sudo运行apt-get update命令?
- 无法更改Intel turbo boost(/ sys / devices / system / cpu / intel_pstate / no_turbo /无法访问)
- sudo:source:找不到命令
- 基于GUI的应用程序如何在没有安装gksudo的情况下请求root密码?
- /etc/security/pam_env.conf和/ etc / environment之间的区别+使sudo读取pam_env.conf
- 使用启动脚本登录samba共享(不是fstab)
- 无法validation正确的密码以运行Synaptic Package Manager GUI
- 即使我没有设置密码,`sudo`也要求输入密码?
- 如何通过sudoers给nopasswd访问多个命令?