gpt4 book ai didi

linux - EOF 和 openssl 密码

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:36:16 24 4
gpt4 key购买 nike

我正在尝试在 Ubuntu 11 中制作以下脚本。我是这方面的新手......脚本应该接收参数。我的意图是,作为测试,创建两个用户,移动一系列文件,并默认分配一个密码,这将是相同的登录名,并在登录后强制更改它。我希望它被加密,但我不知道如何将加密的密码传递给命令,例如传递给 usermod -p,或者用命令的输出分配一个变量。由于我不明白,另一种选择是使用 EOF 为它分配 passwd,这样它就不会以交互方式完成。所以我按照我指示的方式使用它,但我不知道它是如何完成的,没有设置我想要的密码。有人可以帮助我吗?非常感谢

#!/bin/bash
usuario=`whoami`
if [ $usuario != "root" ]; then
echo El script tiene que ejecutarse con usuario root
exit 1
fi
if [ $# -lt 3 ]; then
echo Número de parámetros insuficiente
exit 2
fi
groupadd "$3"
useradd -m -g "$3" $1
useradd -m -G "$3" $2
echo " Usuarios y grupo creados "
cp /var/backups/* /home/"$1"
echo " Copia de backups realizada "
mv /home/"$1"/*bak /home/"$2"
passwd -e $1 && passwd $2<<EOF
$1
$1
$2
$2
EOF

#clave1=`openssl passwd -crypt "$1"`
#clave2=`openssl passwd -crypt "$2"`
#usermod -p clave1 $1
#usermod -p clave2 $2
#openssl passwd -crypt "$2" | usermod -p "$2" $2

最后 5 行是注释,而不是尝试创建加密 key

最佳答案

将加密密码传递给 useradd 的最佳选择。

您可以使用 chpasswd 命令获取加密密码。

echo ":plaintextpassword" | chpasswd -S

: 是必需的,因为它在 chpasswd 的输入中将 balnk 用户与新密码分开。

然后输出中 : 之后的所有内容都可以存储在脚本中并传递给 useradd:

pwd='encryptedpasswd'
useradd -m -p "${pwd}" "${user}"

关于linux - EOF 和 openssl 密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48628934/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com