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