shell批量创建和删除10个系统帐号密码(密码为随机10位字符串)

1、添加10个用户和密码,并把账号和密码保存到指定的文件里

# vim create_user.sh

#/bin/bash

#

for jiangjj in {1..10}; do

if id user$jiangjj &> /dev/null; then

echo "user$jiangjj is exists."

else

password=`echo $[$RANDOM]|md5sum|cut -c 1-10`

useradd user$jiangjj

echo "user$jiangjj $password" >> /home/shell/passwd.log

echo "$password" |passwd --stdin user$jiangjj &> /dev/null

echo "add user user$jiangjj finished"

fi

done

授权

# chmod +x create_user.sh

#执行

# ./create_user.sh

#查看账号密码

# cat /home/shell/passwd.log


注意:

1.设置密码最好不要使用echo "password" |passwd --stdin user 这条命令,一是不安全,通过history可以看到密码,二是不确定因素太多,设置密码容易出错,具体echo的用法可以上网搜索查看;

2.一台服务器至少应该设置两个用户,一个是root,另外一个是拥有root权限的普通用户(通过配置/etc/sudoers可以实现),这样就能够保证一个密码出错后还可以通过另外一个用户登录服务器重置密码,;

3.通过passwd user 命令更改密码,密码中出现的符号不包含其他意义,仅仅是作为符号本身来使用,这种方法设置密码更安全。

补充知识:

--stdin 选项 用于 从标准输入 管道读入新的密码


2、删除新建的用户

# vim del_user.sh

#!/bin/sh

#

for jiangjj in {1..10}; do

if id user$jiangjj &> /dev/null;then

userdel -r user$jiangjj

echo "Delete user$jiangjj finished"

else

echo "user$jiangjj not exists"

fi

done

授权执行即可


猜你喜欢

转载自blog.51cto.com/13941177/2309163