这与我最近的一个答案松散地相关。我列出了 4 种在 Ubuntu 16.04 上通过mkpasswd
和组合添加新用户的方法。useradd
命令替换:
sudo -p ">" useradd -m -s /bin/bash -p $(mkpasswd --hash=SHA-512 "123" ) newusr
单引号:
sudo -p ">" useradd -m -s /bin/sh -p 'GVhvDY$vhw89D2X0bd2REQWE' newusr2
通过管道传递到
xargs
:mkpasswd -m sha-512 'password1' | sudo -p '>' xargs -I % useradd -p % newuser1
将反斜杠附加到每个
$
useradd -m -s /bin/bash -p \$6\$5AfGzrQ9u\$r6Q7Vt6h8f2rr4TuW4ZA22m6/eoQh9ciwUuMDtVBX31tR3Tb0o9EB1eBdZ2L9mvT.pX3dIEfxipMoQ0LtTR3V1 newuser
在方法4和2的情况下,很明显哈希密码出现在进程列表中;这并不完全安全。但是,我对方法 3 和 1 很好奇。命令替换和管道是否可以防止恶意用户以某种方式获取散列密码?恶意用户可以以某种方式读取stdout
或读取stdin
任一命令吗?