编辑时受密码保护的脚本,执行时无需密码

编辑时受密码保护的脚本,执行时无需密码

有没有什么方法可以在脚本(或任何相关文件)上设置密码,而无需每次我想编辑它时输入特定的命令行来解密它?将此密码设置为目录,使每个文件(现在和将来)都受到密码保护就可以了,实际上甚至更好。

情况示例:

nano path/to/script
Enter passphrase : *****
[Modification allowed, then file closed]
path/to/script/scriptToExecute
[Is executed without asking for password]

sudo 本身就是一个解决方案,但问题是,除非我离开终端,否则在单个会话中输入一次密码时,它不会要求输入密码。

这样做的目的是连接到远程 SSH,而不必每次都输入密码(实际上主要是为了执行 scp 命令),因此将其放入脚本中。但如果每个人都可以访问它,它就变得毫无意义了。有什么想法/解决方案吗?

感谢您的回答。

答案1

正如 Jeff Schaller 提到的,您可以通过将以下内容添加到文件中来禁用 sudo 的密码缓存/etc/sudoers

Defaults timestamp_timeout=0

然后你可以简单地chown root FILE; chmod 755 FILE让只有 root 可以编辑该文件,但每个人都可以读取/执行它。

或者,您可以这样做su root -c nano FILE,因为su不缓存密码。

相关内容