我写了一个shell脚本来挂钩到受密码保护的数据库.其他几个想要使用相同的shell脚本来共享数据库访问,但我不想公开正在使用的密码.有没有办法锁定脚本,以便没有人可以读取它只执行它?它们也是输入sudo密码以运行脚本的理想选择
有没有办法锁定脚本,以便没有人可以读取它只执行它?它们也是输入sudo密码以运行脚本的理想选择
当然.假设包含凭据的脚本是/usr/local/bin/myscript.使此文件由特权用户拥有.假设我们有一个名为"凭据"的用户:
# chown credentials /usr/local/bin/myscript
# chmod 700 /usr/local/bin/myscript
Run Code Online (Sandbox Code Playgroud)
现在只有credentials用户可以读取并执行此脚本.
创建另一个如下所示的脚本/usr/local/bin/mywrapper:
#!/bin/sh
exec sudo -u credentials /usr/local/bin/myscript
Run Code Online (Sandbox Code Playgroud)
并创建适当的/etc/sudoers条目:
auser ALL=(credentials) /usr/local/bin/myscript
Run Code Online (Sandbox Code Playgroud)
所以现在,用户auser运行"mywrapper".这反过来用于sudo调用真实脚本,它将提示auser输入密码.
我认为这可以做你想要的一切.我们在办公室使用非常类似的机制来保护凭证(在我们的例子中是ssh私钥).
| 归档时间: |
|
| 查看次数: |
1109 次 |
| 最近记录: |