栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

使用shell脚本实现在集群中创建用户同时为用户设置密码

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用shell脚本实现在集群中创建用户同时为用户设置密码

shell脚本创建用户及设置密码
    • 背景
    • 配置文件
    • 脚本

背景

因为需要对服务器进行管理,所以需要为集群中的服务器增加work用户,并为work用户设置密码Work@123。这里需要分析创建work用户的2种情况:
1)当前服务器存在work,那么此时就需要重新为work设置密码,因为先前存在的work用户并不是我创建的;此时将work用户密码设置为Work@123:echo “Work@123” | passwd --stdin work;
2)当前服务器不存在work用户,此时新建work用户,并同时为work用户创建家目录:useradd -m work;并设置密码:echo “Work@123” | passwd --stdin work;
有了前面的思考,此时我使用root用户在集群的服务器上执行下面的脚本。需要注意的是,要执行下面的脚本,需要提前做好脚本所在服务器到其他服务器的免密登录。

配置文件

在脚本中使用到一个配置文件,其内容为:

10.191.0.1
10.191.0.2
10.191.0.3
脚本

经过前面的分析,脚本编写如下:

#!/bin/bash
#
# 检查集群各服务器是否存在work用户,并设置密码为Work@123
########################################################
## 预置变量
host_config="/home/work/all_host"
username="work"

command="if id -u $username > /dev/null 2>&1; then echo "$username exist" ; 
 echo "Work@123" | passwd --stdin work ; 
 else echo "there is no $username"; useradd -m work ; 
 echo "Work@123" | passwd --stdin work ; fi "

## 脚本开始执行
[ ! -f $host_config ] && {
  echo "there is no config file named host_config..............."
  exit 1
}

# 不读取#注释的行
hosts=`cat $host_config | grep -v "^#"`
for ip in $hosts
do
  # echo 不换行输出
  echo -n "$ip :"
  # 通过ssh执行命令
  ssh root@$ip "$command"
done

至此所有需求已通过脚本实现。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/869738.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号