Linux下交互式添加用户脚本(四个示例)

最近需要用到Linux下脚本交互方式添加用户,自己整了三个脚本分享并记录一下,便于后续使用,同时也分享下,希望能帮到和我一样的Shell脚本菜鸟。

示例一:优雅方式添加用户

根据提示,输入你要添加的用户,如果用户存在,则提示后,退出脚本;

#!/bin/sh
# This scripts is created by miaocbin
# QQ:289303323
# blog:http://miaocbin.blog.51cto.com
# 优雅方式添加用户:如果用户存在,则提示已存在,并退出,如果不存在就增加,并且设置密码;
echo -n "Please input your username:"
read username
grep "$username" /etc/passwd > /dev/null 2>&1 
if [ $? -eq 0 ] ; 
 then
  echo $username exist.
  exit 0
 else
  echo $username is not exist.
  echo "now create user $username"
  /usr/sbin/useradd $username
  echo -n "Please input your password:"
  read password
  echo “${password}123” |passwd --stdin $username
  echo "User $username have been added,the password is ${password}123"
fi

示例二:优雅方式添加用户

与示例一类似,只是实现方式不同而已,由此可知,Linux中条条道路通罗马,各种实现方式需要不断研究,寻找合适自己的才是最好的。

#!/bin/sh
# This scripts is created by miaocbin
# QQ:289303323
# blog:http://miaocbin.blog.51cto.com
#优雅方式添加用户
echo -n "Please input your username:"
read username
if cat /etc/passwd | awk -F : ‘{print $1}‘ | grep $username >/dev/null 2>&1
 then
  echo "User $username already exists"
 else
  /usr/sbin/useradd $username
  echo -n "enter your password:"
  read password
  echo "${password}123" |passwd --stdin $username
  echo "User $username have been added,the password is ${password}123"
fi

示例三:优雅方式添加用户(简单、推荐)

#!/bin/sh
# This scripts is created by miaocbin
# QQ:289303323
# blog:http://miaocbin.blog.51cto.com
#优雅方式添加用户
echo -n "Please input your username:"
read username
id $username >/dev/null 2>&1
if [ $? -ne 0 ] ; 
 then
  echo $username is not exist.
  echo "now create user $username"
  /usr/sbin/useradd $username
  echo -n "Please input your password:"
  read password
  echo “${password}123” |passwd --stdin $username
  echo "User $username have been added,the password is ${password}123"
 else
  echo $username exist.
  exit 0
fi

示例四:暴力方式添加用户(慎用!)

先递归删除你输入的用户,然后重新添加,并设置密码,生产环境中请慎用此脚本,此脚本会递归删除用户及其相关的所有数据。

#!/bin/sh
# This scripts is created by miaocbin
# QQ:289303323
# blog:http://miaocbin.blog.51cto.com
#暴力方式添加用户,如用户存在,怎删除后,重新添加
echo -n "Please input your username:"
read username
grep "$username" /etc/passwd > /dev/null 2>&1 
if [ $? -eq 0 ] ; 
 then
  echo $username exist.
  echo "now delete the user $username and Readd the user $username"
  /usr/sbin/userdel -r $username
  /usr/sbin/useradd $username
  echo -n "Please input your password:"
  read password
  echo “${password}123” |passwd --stdin $username
  echo "User $username have been added,the password is ${password}123"
fi
时间: 2024-08-04 09:54:58

Linux下交互式添加用户脚本(四个示例)的相关文章

Linux下批量添加用户

首先要创建一个包含所有用户名的文件,我使用的是user这个文件,这个文件里面包含了6个用户,如图所示 脚本内容 #!/bin/bash read -p "输入用户密码:" PASSWD for UNAME in `cat user` do id $UNAME &> /dev/null if [ $? -eq 0 ] then echo "$UNAME,用户存在" else useradd $UNAME &> /dev/null echo

shell 脚本实战笔记(9)--linux自动批量添加用户

前言: 添加linux用户帐号,这个相对简单, 在面对集群, 许多机器的时候, 我们该如何去做和实现? 这篇短文, 简单讲解一些思路, 尽可能地涉及周边的一些知识点. 不光是运维人员会面临这个问题, 对一个基于linux平台的集群服务或软件(比如hadoop集群), 有时也会涉及到这块. 应用场景: 是以centos 6.4作为演示的系统, 其他的系统有类同, 也有差异, 且以实战演练, 一步步的讲述下流程. *) 实战演练 查阅useradd的使用和参数选项useradd --help -d,

Linux下设置定期执行脚本

下面针对的是非ubuntu环境,会在文章末尾介绍ubuntu的一些区别. 在Linux下,经常需要定期的执行一些脚本从而来实现一些功能. 在Linux下我们用crontab来实现定期的执行脚本这个功能,下面就介绍一下crontab的使用.以及我遇到的一些问题 一. crontab的使用说明 1. crond 是linux用来定期执行程序的命令.当安装完成操作系统之后,默认便会启动此任务调度命令.crond命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作.而linux任

工程师技术(五):Shell脚本的编写及测试、重定向输出的应用、使用特殊变量、编写一个判断脚本、编写一个批量添加用户脚本

一.Shell脚本的编写及测 目标: 本例要求两个简单的Shell脚本程序,任务目标如下: 1> 编写一个面世问候 /root/helloworld.sh 脚本,执行后显示出一段话"Hello World!!"   2> 编写一个能输出系统信息的 /root/sysinfo 脚本,执行后依次输出当前红帽系统的版本信息.当前使用的内核版本.当前系统的主机名 方案: 规范Shell脚本的一般组成: 1> #! 环境声明(Sha-Bang)    2> # 注释文本 

linux下非root用户如何修改root权限的文件

在linux下会出现把一些配置文件参数配错.root密码忘记等导致系统无法启动或进入root的窘迫境地,本文以redhat  enterprise linux server 6.4为例介绍root身份修改root权限配置文件的参数后,root无法登录,然后通过linux的rescue模式改回配置文件,巧妙以非root身份修改了root权限的文件的解决方案. 首先,插入linux安装盘重启系统,等到引导进入安装会话,上下移动方向键,选rescue installed system: 第二,进入修复

Linux下的lds链接脚本详解【转】

转自:http://www.cnblogs.com/li-hao/p/4107964.html 转载自:http://linux.chinaunix.net/techdoc/beginner/2009/08/12/1129972.shtml 一. 概论 每一个链接过程都由链接脚本(linker script, 一般以lds作为文件的后缀名)控制. 链接脚本主要用于规定如何把输入文件内的section放入输出文件内, 并控制输出文件内各部分在程序地址空间内的布局. 但你也可以用连接命令做一些其他事

Linux下的lds链接脚本详解

1. 概论2. 基本概念3. 脚本格式4. 简单例子5. 简单脚本命令6. 对符号的赋值7. SECTIONS命令8. MEMORY命令9. PHDRS命令10. VERSION命令11. 脚本内的表达式12. 暗含的连接脚本 1. 概论 每一个链接过程都由链接脚本(linker script, 一般以lds作为文件的后缀名)控制. 链接脚本主要用于规定如何把输入文件内的section放入输出文件内, 并控制输出文件内各部分在程序地址空间内的布局. 但你也可以用连接命令做一些其他事情. 连接器有

linux下非root用户的sudo问题

linux下的root用户是个超级管理员,一般是不用这个用户登录进行操作的,但有时候需要root权限,又不想切换用户的话可以使用sudo命令.但是不是所有的用户都可以使用sudo命令的. 首先可能会遇到下面的提示: ××× is not in the sudoers file.  This incident will be reported. 解决办法: 1.修改/etc/sudoers 文件 #su - #chmod u+w /etc/sudoers 在 root    ALL=(ALL) 

Linux 下 FTP虚拟用户的使用配置

Linux下FTP虚拟用户的使用配置 Linux的FTP服务支持3种用户: 1.匿名帐户 2.本地帐户 3.虚拟用户 为什么要使用虚拟用户: 匿名帐户可以很好的保证FTP服务器的安全性,但是,对匿名用户的权限管理不够灵活.如果想对访问FTP的帐户给予更多的权限,就可以用本地帐户来实现.但是,本地帐户默认情况下是可以登陆Linux系统的,这样对Linux系统来说是一个安全隐患.那么怎么能在灵活的赋予FTP用户权限的前提下,保证FTP服务器乃至整个Linux系统的安全呢?使用虚拟用户就是一种解决办法