【问题标题】:Generate random password for Oracle user using shell script使用 shell 脚本为 Oracle 用户生成随机密码
【发布时间】:2020-10-22 13:26:48
【问题描述】:

我正在尝试编写一个随机创建密码的 shell 脚本,这些密码应设置为 oracle 用户。我需要一个 Linux 命令来生成遵循以下约束的密码:

1.每次生成的随机密码长度应在6到12个字符之间动态变化。 2.它应该遵循Oracle提出的密码标准。最好只使用我们提到的特殊字符来随机生成密码。

我使用了这个 cmd:

$ cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 12 | head -n 1 

这很好,但我需要 2 个更改。生成的密码长度应在 6 到 12 个字符之间动态变化。我应该提到一些用于生成随机密码的特殊字符

【问题讨论】:

  • man pwgen,如果没有,请安装。
  • 你试过什么?是否需要基于 shell 的解决方案 - 或者您可以按照建议安装密码生成工具
  • 它应该遵循 Oracle 提出的密码标准。最好只使用我们提到的特殊字符来随机生成密码。这听起来更像是工单的要求,而不是请求帮助解决编码问题。
  • 如果密码总是以最大长度生成,会不会更安全?
  • "...但我认为所有密码的长度不应相同"。不,破解密码的加密过程不会被其他密码长度不同的事实混淆。密码学上,密码越长,密码越强。时期。句号。此外,在选择要引入的特殊字符时,“@”、“$”和“!”都表明在某些情况下会产生问题。

标签: linux bash oracle shell


【解决方案1】:

我在 cmets 中的文字很混乱,所以我会写出来。我会把它留在那里笑:

$ < /dev/urandom tr -dc 'a-zA-Z0-9' | head -c $((6+$RANDOM%7)) ; echo

echo 在末尾附加一个换行符。

【讨论】:

  • 它的工作非常好,只需添加一件事。像#_$这样的特殊字符应该包含在随机生成的密码中
  • 只需将特殊字符添加到tr,如tr -dc 'a-zA-Z0-9#_$'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 2012-08-07
  • 2014-12-27
  • 2010-09-08
  • 1970-01-01
相关资源
最近更新 更多