如果需要,为什么没有文件管理器要求更高的权限?

Ann*_*ler 14 permissions usability filemanager

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

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

那么我应该告诉没有任何 GNU/Linux 经验的人什么?

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

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

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

我不想这么说,但看看 Windows 是如何处理的。默认是用户权限。如果文件管理器需要更多 - 它只是询问用户。

这并不难实现。如果操作因权限异常而失败 - 尝试使用 gksudo 执行。

是的:我对整个开源世界真的缺乏经验。

我的问题:

  1. 是否有任何原因不这样做
  2. 有没有人实现类似的东西?
  3. 这是您报告的错误(Ubuntu 或 Gnome)吗?
  4. 这是我可以尝试实现自己的东西吗?

Ser*_*nyy 14

  1. 是否有任何原因不这样做

没有专门的。我可以列举一些假设的原因,但它们大多是猜测。

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

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

  1. 这是您报告的错误(Ubuntu 或 Gnome)吗?

错误报告 ?否。功能请求?可能,是的。您可以将此作为功能请求提交给Launchpad上的 Nautilus(文件管理器)团队,但我怀疑他们有 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"
Run Code Online (Sandbox Code Playgroud)

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

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

嗯...这不是计算机问题 - 这是用户问题。我们无法解决用户不愿意学习如何正确操作他们的计算机并且不愿意为他们的行为负责的问题。

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

  • “嗯……这不是电脑问题——这是用户问题。我们无法解决用户不愿意学习如何正确操作他们的计算机并且不愿意为他们的行为负责的问题。” 呃,没有。人们举手指责用户正是事情变得复杂或违反直觉的原因。用户体验设计是程序设计者需要关心、思考、工作的真实而重要的事情——换句话说,承担责任。这不是用户的错——这是技术限制或安全问题,或者可能是需要修复的糟糕用户体验。 (16认同)
  • 很好的答案,但问题仍然存在:默认情况下,大多数发行版上的 GUI 不允许用户在需要时“以图形方式”执行 sudo。用户必须手动解锁 root 帐户(错误),或者他们必须求助于命令行。例如,我是一名开发人员,我喜欢 CLI……但我也想我的家人和朋友不是。有时,当他们使用 Linux 时,他们会向我寻求帮助,80% 的时间都是作为特权用户做某事。:/ (4认同)