echo "user$i:user$i|chpasswd"
时间: 2024-05-26 21:11:56 浏览: 6
这是一个 shell 命令,用于将用户名为 "user$i" 的用户的密码设置为 "user$i"。其中 "$i" 是一个变量,可以通过脚本或命令行参数的方式传入具体的数值。该命令会将 "user$i" 和 "user$i" 分别作为用户名和密码传递给 chpasswd 命令,chpasswd 命令会将密码加密后写入 /etc/passwd 文件中,从而修改用户的密码。
相关问题
改写 useradd user$i # 添加用户 echo "123" | passwd --stdin user$i # 设置密码为123
为了避免使用明文密码,可以使用 `chpasswd` 命令来批量创建用户并设置密码。改写后的代码如下:
```shell
#!/bin/bash
# 添加5个用户并设置密码
for i in {1..5}
do
password=$(openssl rand -base64 12) # 生成12位随机密码
useradd user$i # 添加用户
echo "user$i:$password" | chpasswd # 设置密码
echo "User user$i created with password: $password" # 显示用户名和密码
done
# 显示/etc/passwd
cat /etc/passwd
```
这段代码中,我们使用 `openssl rand -base64 12` 命令来生成一个12位的随机密码,然后使用 `chpasswd` 命令来批量设置密码。最后,我们输出每个用户的用户名和密码,以便记录下来。
ansible -m shell -a "echo "user1:123" | chpasswd" all
这个 Ansible 命令是在所有主机上执行一个 shell 命令,将 "user1" 用户的密码修改为 "123"。
具体来说,"-m shell" 参数指定使用 shell 模块来执行命令,"-a" 参数后面跟着要执行的命令,即将 "user1:123" 通过管道输入到 "chpasswd" 命令中。"all" 指定要在所有主机上执行该命令。
需要注意的是,这个命令需要在具有 root 权限的用户下执行,否则修改密码的操作可能会失败。另外,明文存储密码是不安全的,建议使用其他更安全的方式来管理密码。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)