shell脚本案例:创建用户和组

使用场景

在部署程序时,往往首要任务是创建用户和组。有的程序可能用到的组、用户比较多;且不知道服务器环境是否已经有了所需的组和用户。所以针对这个情况,根据Oracle RAC部署时的实际情况写了个脚本。

Linux版本

脚本代码

bash 复制代码
#!/bin/bash
#组
echo -e  "\e[32m************************ \e[0m"
echo -e  "\e[32m组信息\e[0m"
echo -e  "\e[32m************************ \e[0m"

group=(oinstall dba oper asmadmin asmdba asmoper)
for i in "${group[@]}"
do
grep "^$i" /etc/group >& /dev/null
  if [ $? != 0 ];
         then
                 if [ $i = "oinstall" ];
                        then  groupadd -g 5001 oinstall; echo "oinstal组已添加"
                 elif [ $i = "dba" ];
                        then groupadd -g 5002 dba; echo "dba组已添加"
                 elif [ $i = "oper" ];
                        then groupadd -g 5003 oper; echo "oper组已添加"
                 elif [ $i = "asmadmin" ];
                        then groupadd -g 5004 asmadmin; echo "asmadmin组已添加"
                 elif [ $i = "asmoper" ];
                        then groupadd -g 5005 asmoper; echo "asmoper组已添加"
                 elif [ $i = "asmdba" ];
                        then groupadd -g 5006 asmdba; echo "asmdba组已添加"
                 fi
          else
              echo "$i组已存在"
        fi
done


echo -e  "\e[32m************************ \e[0m"
echo -e  "\e[32m用户信息\e[0m"
echo -e  "\e[32m************************ \e[0m"


user=(grid oracle)
for i in "${user[@]}"
do
  grep "^$i" /etc/passwd >& /dev/null
  if [ $? != 0 ];
    then
            if [ $i = grid ]
                  then useradd -u 6002 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid ;  echo grid | passwd --stdin grid ; echo "grid用户已添加"
                elif  [ $i = oracle ]
                  then useradd -u 6001 -g oinstall -G dba,asmdba,oper oracle; echo oracle | passwd --stdin oracle; echo "oracle用户已添加"
                fi
        else
                echo "$i用户已存在"
  fi
done

执行效果

相关推荐
林农7 分钟前
C02S10-Linux的进程和计划任务管理
linux·云计算
188_djh1 小时前
# vim那些事...... vim删除文件全部内容
linux·ubuntu·centos·编辑器·vim·vi·vim删除文件全部内容
Mephisto.java1 小时前
【大数据学习 | kafka】kafka的偏移量管理
大数据·sql·oracle·sqlite·json·hbase
安 当 加 密2 小时前
【安当产品应用案例100集】028-实现SQL Server数据库的透明加密
数据库·oracle
安迁岚2 小时前
【SQL Server】华中农业大学空间数据库实验报告 实验二 数据库表
数据库·sql·mysql·oracle·实验报告
小安运维日记2 小时前
Linux云计算 |【第五阶段】PROJECT3-DAY1
linux·运维·安全·云计算
尸僵打怪兽2 小时前
软考(中级-软件设计师)数据库篇(1101)
数据库·oracle·性能优化·软考
我是苏苏3 小时前
数据库的使用05:不规范的写法与操作记录
数据库·sql·oracle
柳鲲鹏3 小时前
LINUX/CMAKE编译opencv_contrib
linux·opencv·webpack