为什么没有文件管理器在需要时要求更高的权限?[关闭]


14

我刚刚回答了另一个有关“无法写入.......检查权限”的初学者问题。

我当然知道如何使用chown / chmod;无论如何,我正在使用命令行。但是普通消费者却没有。

那我该如何告诉没有GNU / Linux经验的人们呢?

以root身份工作?我知道例如Nemo具有“以root身份打开”的功能。但是,只是没有!对于一般用户,我认为这不是一个好主意。太危险了。然后,用户在root-file-manager中创建文件,并想知道为什么他不能删除或修改此文件。等等。

告诉他学习如何使用chown / chmod?而这里是-nerd-only-linux,那里的一切都如此复杂。这就是我们做事的方式;但对于普通消费者来说,这不是一个好选择。

为什么文件管理器没有帮助?

我讨厌这样说,但是看看Windows如何处理这个问题。默认值为用户权限。而且,如果文件管理器需要更多功能,它会询问用户。

这不是很难实现的。如果操作因权限异常而失败,请尝试使用gksudo执行。

是的:我真的对整个“开放源代码世界”缺乏经验。

我的问题:

  1. 是否有任何原因无法通过这种方式完成
  2. 有人实现过类似的东西吗?
  3. 您是否将此事报告为错误(Ubuntu或Gnome)?
  4. 这就是我可以尝试实现的东西吗?

4
为什么要将Windows行为复制到Linux系统?它们只是两个不同的操作系统,并且也不同。在Linux中,您以普通用户身份工作,通常不需要root特权,除非您从事管理员工作。在这种情况下,您应该以管理员身份工作并使两个世界分开。你可以在你的home目录安装软件,使自己的环境设置中.bashrc.profile等...
托马斯

2
我一定很想念某些东西,但是为什么要考虑“例如,我知道Nemo具有“以root身份打开”的功能。但是没有!我认为这对普通用户不是一个好主意。这很危险。,但同时,“看看Windows如何处理此问题。默认为用户权限。如果文件管理器需要更多-它只是问用户 ”-一个好主意??
雅各布·弗利姆

5
关闭选民:认真吗?这是一个很好的问题,已经有了很好的答案。可能还会有更多。如果有任何技术原因无法实施这种明显的改进,则可以给出答案。
Andrea Lazzarotto

2
@Arronic关键是在很多情况下没有这样的GUI工具。甚至macOS都有更多GUI选项可用于调整防火墙,SSH服务器等。因此,OP的问题是:为什么?
Andrea Lazzarotto

3
如果面向非技术人员的桌面Linux可以运用于任何地方,则需要完全消除以root用户身份在文件管理器中工作的需要。我想不出任何一个普通用户应该有一个文件管理器来做为根(当然,有很多的事情,他们目前必须做)。然后这个问题很容易解决。恕我直言,如果用户要在自己的主目录中创建根目录拥有的文件,则已经有些严重的错误。
Muzer's

Answers:


14
  1. 是否有任何原因无法通过这种方式完成

没有具体的。我可以列举一些可能的原因,但主要是猜测。

  1. 有人实现过类似的东西吗?

不完全的。有一个nautilus-admin扩展名,它使您可以在新窗口中以根级特权打开目录,然后可以根据需要从右键菜单->属性->许可权中更改文件/目录许可权。

  1. 您是否将此事报告为错误(Ubuntu或Gnome)?

错误报告 ?否。功能要求?可能是的。您可以将此功能作为功能请求提交给Launchpad上的Nautilus(filemanager)团队,但是我怀疑90%的确定性会指向您nautilus-admin上面提到的扩展名。

使用进行安装sudo apt-get install nautilus-admin

  1. 这就是我可以尝试实现的东西吗?

是的,如果您的文件管理器允许向其中添加脚本。Ubuntu(Nautilus)的默认文件管理器确实允许向其添加脚本,因此您可以执行以下操作:

#!/bin/bash
# adds read permissions for file for all users
zenity --password | sudo -S -p ""  chmod +r  "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" || zenity --error --text "Command failed"

将其放入 ~/.local/share/nautilus/scripts,使用制作可执行文件chmod,然后通过右键单击文件即可访问它。当然,这只是一个最小的例子,只是为了说明这一点。如果您想要一个功能完善的应用程序,它允许使用更复杂的功能(例如选择要更改的权限),那么可能需要额外的命令,并且可能需要使用Python等具有更强大的GUI工具包的语言。

但是,只是没有!对于一般用户,我认为这不是一个好主意。太危险了。然后,用户在root-file-manager中创建文件,并想知道为什么他不能删除或修改此文件。等等。

好吧...这不是计算机问题,而是用户问题。我们无法解决用户不愿意学习如何正确操作计算机并且不对自己的行为承担责任的问题。

用户必须意识到存在文件所有权分离是有原因的。您既不能拥有更改文件权限的权力,又不能期望由此带来的安全隐患


4
很好的答案,但是问题仍然存在:默认情况下,大多数发行版上的GUI不允许用户在需要时“以图形方式进行sudo”。用户必须手动解锁根帐户(错误),或者必须诉诸命令行。例如,我是一名开发人员,我喜欢CLI。但是我也考虑过我的家人和朋友。有时,当他们使用Linux时,他们会向我寻求帮助,而80%的时间是关于以特权用户身份进行操作。:/
Andrea Lazzarotto

谢谢; 特别是脚本非常有用。一个功能请求的报告就像一个错误(注意这是一个功能请求),不是吗?
AnnoSiedler'3

@AnnoSiedler概括地说是的;最好在标题中添加“ [enhancement]”或“ [feature]”并以一个好的用户故事开头,并且不要将您的问题视为存在缺陷(例如“重现该错误的步骤”)
david.libremone

16
“嗯……这不是计算机问题,而是用户问题。我们不能解决用户不愿意学习如何正确操作计算机并且不对自己的行为承担责任的问题。” 人们举起手来指责用户,这正是事情变得令人费解或违反直觉的原因。UX设计是程序设计师需要关心,思考和工作的现实,重要的事情,换句话说,要拥有所有权并对此负责。这不是用户的错,这是技术限制或安全问题,也许是需要修复的不良UX。
KRyan
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.