在 Ubuntu 22.04 中,如何在需要 sudo 的启动应用程序中输入密码?

在 Ubuntu 22.04 中,如何在需要 sudo 的启动应用程序中输入密码?

我的 CIFS 网络上的其他 Linux 机器上有几个网络文件夹。
我已将它们设置在固定固定座并且访问正常,提供我做一个sudo 安装 -a当系统重新启动时。
我已设法将 mount -a 放入由我的 .config/autostart 调用的 gnome-terminal 应用程序中,但 gnome-terminal (sudo) 随后要求我输入密码。
我如何在此自动启动中的桌面条目中提供我的密码?
例如:
Exec=gnome-terminal --tab --title="FSTABBER INITIATE!" --command="bash -c 'sudo mount -a; echo DID OUR FSTABBER WORK OK?; $SHELL'"

(不要担心 - 一旦它成功运行,我会摆脱多余的 echo 和 $SHELL)
另一种方法可能是将我放入 sudoers 文件中,但我宁愿在真正需要它时执行 sudo。

答案1

这不是实现这一目标的正确方法。

  • 您永远不应该在桌面的启动应用程序中使用“sudo”。相反,您应该使用 systemd 服务启动一个命令,以便正确配置您的系统,或者更简单的是使用 root 的 crontab。

  • 或者,配置挂载选项以便可以以用户身份挂载。这样自动启动脚本就可以执行此操作,而无需管理员密码。

  • 最好只挂载目标文件系统,而不是懒洋洋地使用“sudo mount-a”并让系统再次处理整个 fstab 文件。

虽然有方法可以自动向 mount 命令输入密码,但从安全角度来看,这是不好的做法。

相关内容