我在 Netezza 文档中没有看到这一点。
我们有很多 Linux 脚本可以执行此操作:
NZ_PASSWD_ENCRYPTED=29TY20T98=
NZ_PASSWD_CLEAR=`DecryptFunc $NZ_PASSWD_ENCRYPTED`
NzResult=$(nzsql -db ${NZ_DATABASE} -u ${NZ_USER} -pw $NZ_PASSWD_CLEAR -h $NZ_HOST \
-qc "select 'hi there folks;'")
我不喜欢将密码挂在命令环境中,在那里它可能会被黑客入侵。
在 nzsql 脚本中是否有任何函数可以不同地处理密码?我错过了文档中的某些内容吗?或者我可以使用的 Linux 脚本中的任何技巧?
提前致谢....
三个选项:
这些例子不在我的脑海中,我现在没有一个实例来测试它,你可能需要稍微调整一下。
将其导出到环境:
任何可以读取为您的 shell 设置的环境变量的人仍然可以检索密码,但它不会显示在系统上每个人都可见的进程列表中
把它放在一个脚本中:
将查询放在一个 sql 文件中,在其顶部添加如下内容:
然后使用 nzsql 执行这个文件。您可能还需要为nzsql指定一个登录用户,但是任何用户都应该这样做(即使是除了登录之外没有其他权限的用户)
任何可以读取sql文件的人都可以看到密码,但我没有'认为它不会出现在其他任何地方
使用 nzpassword
有一个工具可以将加密的密码存储在隐藏的 ~/.nzpassword 文件中,供以后使用,其中:
请参阅:http ://www-01.ibm.com/support/knowledgecenter/SSULQD_7.1.0/com.ibm.nz.adm.doc/c_sysadm_encrypted_passwords.html