【发布时间】:2015-02-14 22:01:22
【问题描述】:
我正在使用 LaunchD Task Scheduler 应用程序在我的 Mac Mini 上安排作业。我想每两个小时执行一次清除命令,这样我就不必记住在终端中执行此操作。我必须使用 sudo 命令运行它。我想以保护我的密码的方式执行此操作。
我发现了很多不同的方法来实现这一点,并就解决方案进行了大量辩论。我现在决定运行以下脚本。据我了解,这应该防止命令被写入 .bash_history 和缓存文件中。现在,我拥有我的脚本(和每个脚本)的文件夹的权限设置为管理员和当前具有访问权限的用户。
#!/bin/sh
export HISTIGNORE='*sudo -S*'
echo "mypassword" | sudo -S -k purge
我已经阅读了一个过程,我可以将密码放入安全文件中,并且我猜想从该文件中访问密码。我想尝试该过程,但找不到如何执行此操作的示例。我认为使用密码引用一个安全文件可能比将密码放入每个 shell 脚本中更好。我也想看看 .bash_history 中的命令。
【问题讨论】:
-
您可以设置 sudo 以允许用户在没有密码的情况下运行特定命令。这比硬编码密码来运行所有命令然后试图阻止人们找到它更安全。
-
@thatotherguy,很高兴知道。我想要最安全的方法来执行此操作并保护我的密码。 purge 命令是我目前唯一想在没有密码的情况下运行的命令。请添加有关如何执行此操作的解决方案作为答案,我将对其进行检查并修改我的 shell 脚本。非常感谢!