是呀,同问,习惯了20, 到了23 ,文管挂载这些分区,还得鉴权
希望能保持功能逻辑的一致性
或者说,如果挂载时必须鉴权,能否说说原因何在
是呀,同问,习惯了20, 到了23 ,文管挂载这些分区,还得鉴权
希望能保持功能逻辑的一致性
或者说,如果挂载时必须鉴权,能否说说原因何在
看了下文管代码,如果磁盘挂载需要鉴权,文管自动挂载也会失效。
文管自动挂载的功能逻辑跟手动挂载是一样的。只是自动挂载中忽略了 UI 交互。也就是如果挂载磁盘要鉴权的话,没有 UI 交互会直接失败。
鉴权与否跟磁盘本身好像是有些关系的。
看了下文管代码,如果磁盘挂载需要鉴权,文管自动挂载也会失效。
文管自动挂载的功能逻辑跟手动挂载是一样的。只是自动挂载中忽略了 UI 交互。也就是如果挂载磁盘要鉴权的话,没有 UI 交互会直接失败。
鉴权与否跟磁盘本身好像是有些关系的。
所以疑问就有这么几个:
是呀,同问,习惯了20, 到了23 ,文管挂载这些分区,还得鉴权
希望能保持功能逻辑的一致性
或者说,如果挂载时必须鉴权,能否说说原因何在
没搞懂其他系统都不需要鉴权,为啥他这个就需要了。
要鉴权的话内置磁盘鉴权,你外置磁盘更应该鉴权了,这样更能避免u盘有病毒之类的东西。
结果现在是u盘自动挂载,到了内置磁盘又变成了需要鉴权。
可能是少装了包,比如pmount

https://wiki.debian.org/pmount
我还没用过,不知道是不是这个原因
可能是少装了包,比如pmount

https://wiki.debian.org/pmount
我还没用过,不知道是不是这个原因
谢谢老铁,测试了下,不得行。
源里也没有这个包,我用了debian的不管用。
谢谢老铁,测试了下,不得行。
源里也没有这个包,我用了debian的不管用。
确实不是这个原因,因为我的另一个mint系统没有这个包也不需要密码
我再研究一下

挺奇怪的,我记得似乎只有ubuntu系列的挂载不需要密码,是不是ubuntu对udisks有特殊的改动呢
这个是 chatgpt 的回答。
在 udisks 代码的 handle_mount 函数中发现了,在 system_managed 为 true 的情况下会触发后续的 polkit 鉴权操作。

这个是 chatgpt 的回答。
在 udisks 代码的 handle_mount 函数中发现了,在 system_managed 为 true 的情况下会触发后续的 polkit 鉴权操作。

不过会弹鉴权框的代码不止这里,还在看别的。
不过会弹鉴权框的代码不止这里,还在看别的。
个人感觉可能不是这的问题。
个人感觉可能不是这的问题。
我只是从代码分析它弹框的原因,这种只能逆向去看。
测试了下,v23即使全盘安装也不能自动挂载。
我只是从代码分析它弹框的原因,这种只能逆向去看。
嗯,谢谢老哥,感觉这块需要研发来说明了。
确实不是这个原因,因为我的另一个mint系统没有这个包也不需要密码
我再研究一下

挺奇怪的,我记得似乎只有ubuntu系列的挂载不需要密码,是不是ubuntu对udisks有特殊的改动呢
mint启动后,不如不限启动文管,点击下win下的各个分区,
直接启动其他程序比如wps,要打开其他分区的文件是不行的,
会找不到分区。
只有在启动文管,点开分区后,才能在wps里面找到。
你也是这样吗?装过两台机器都出现这个问题,在这个点上deepin就不会,ubuntu也会
我刚才用mint和archlinux对比测试了一下(mint的不需要密码,archlinux需要密码),一些结果
第一,两个系统中 /usr/share/polkit-1/actions/org.freedesktop.UDisks2.policy区别不大,在这个文件中定义的动作,挂载普通分区不需要授权,挂载系统分区都是需要授权。具体哪个分区是属于「系统分区」,好像是由udev规则确定的(应该是 man udisks里面的UDISKS_SYSTEM)。
第二,用 udisksctl info -b /dev/[设备号]可以看系统的内置磁盘,HintSystem均为true,U盘的同一字段为false,也就是说,不需要密码挂载并不是因为他是否为「系统分区」。由此楼上的ChatGPT说的应该不对。
第三,需要输入密码时polkit才会输出日志。可以用 journalctl -u polkit -r查看。可以用来查看调用的动作名称。但是如果不需要密码时他就不输出日志了,暂时还没找到更有效的debug方法。
第四,使用 pkcheck -a org.freedesktop.udisks2.filesystem-mount-system -p [进程号pid]对进程所有的权限进行查看,如果有权限就会直接返回0,没有权限就会弹出密码输入框。mint似乎每个应用程序都被永久地授权了这个动作,因此才可以任意挂载。是从哪里定义的暂时不明确。
我还要继续查看一下关于polkit规则方面的定义,不过能不能解决这个事情还很难说

mint启动后,不如不限启动文管,点击下win下的各个分区,
直接启动其他程序比如wps,要打开其他分区的文件是不行的,
会找不到分区。
只有在启动文管,点开分区后,才能在wps里面找到。
你也是这样吗?装过两台机器都出现这个问题,在这个点上deepin就不会,ubuntu也会
不知道,我没安装wps。我刚才试了用xed的文件对话框(GTK的)是能直接挂载硬盘,而Qt Creater、Krita等Qt程序就没有选择磁盘的选项。blender能查看已经挂载磁盘的文件,但是未挂载的找不到。
我是觉得和这个问题没太大联系

我刚才了解到gvfs(Gnome virtual filesystem)是一些文件管理器的后端。没准和这个东西有关系

注意到mint有一个奇怪的文件夹 /etc/polkit-1/localauthority。这个是pklocalauthority控制的,而这个设计已经在新版本的PolicyKit里面被取消了。其实这个不是重点,关键在于这个玩意还有一个配置文件的路径,居然是 /var/lib/polkit-1/localauthority,真是让人摸不到头脑。

/var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkia文件中有这么一段:
[Mounting, checking, etc. of internal drives]
Identity=unix-group:admin;unix-group:sudo
Action=org.freedesktop.udisks.filesystem-*;org.freedesktop.udisks.drive-ata-smart*;org.freedesktop.udisks2.filesystem-mount-system;org.freedesktop.udisks2.encrypted-unlock-system;org.freedesktop.udisks2.filesystem-fstab;
ResultActive=yes
那么大概已经找到了问题的源头了,接下来再进行一些测试,应该会印证之前的几个猜测。
把这几行注释掉以后再挂载就需要密码了(而且都不需要重启直接就生效)

下面我准备在archlinux里面复刻出来同样的配置
确实不是这个原因,因为我的另一个mint系统没有这个包也不需要密码
我再研究一下

挺奇怪的,我记得似乎只有ubuntu系列的挂载不需要密码,是不是ubuntu对udisks有特殊的改动呢
manjaro也不需要就可以。
热门活动
查看更多
目前是双系统,三块硬盘。
在v23下开机只能自动挂载v23的分区,内置硬盘的其他分区均不能自动挂载,而移动硬盘可以自动挂载。
文件管理器中的自动挂载设置项设置了也无效。
20.8系统如果boot分区是单独挂载的,是可以自动挂载其他分区的,包括Windows的,但到了23这样也不行。
如果是一根到底的分区方式,20.8也是无法挂载其他分区。
用修改fstab文件的方式20.8和23都是可以自动挂载的,但倾向于不使用这种方式,这是比较敏感的操作,普通用户也不建议改这个。
请问: