Linux 批量添加和删除用户

简介:

Linux 批量添加和删除用户

一,工具作用Linux 批量添加和删除用户

 Linux 用户管理中,经常需要用到批量添加或删除用户;如果用

useradd  adduser 来添加大量用户,对系统管理员的体力和耐力是

一个极大的挑战;好在 Linux 有大批量用户添加工具newusers ,我

们通过 newusers  chpasswd 就可以轻松完成大批量用户的添加。

(注:以下所有的操作都以 root 用户执行)

Linux 批量添加用户


编写 userfile.txt 文件(如下),在 liunx 下将该文件转化为 unix

格式(dos2unix),然后执行newusers userfile.txt

(关于 userfile.txt 文件文件格式说明:

wangrx:x:500:500:Wang, Renxiao:/home/wangrx:/bin/tcsh

用户名:密码:UserID:GroupID:FullName:宿主目录:Shell

注意每个用户的用户名、UID、宿主目录都不可以相同,其中密码栏

可以留做空白或输入 x 号。如果只创建用户目录而不允许用户登录,

则将/bin/tcsh 改为/sbin/nologin。如果密码栏输入明文密码,可

在执行 newusers userfile.txt 之后直接执行 pwconv 命令将

/etc/passwd 加密,同步用户信息到/etc/shadow文件。)

userfile.txt 

wangrx:x:500:500:Wang, Renxiao:/home/wangrx:/bin/tcsh

liuzg:x:501:500:Liu, Zhiguo:/home/liuzg:/bin/tcsh

tjcheng:x:502:500:Cheng, Tiejun:/home/tjcheng:/bin/tcsh

yzhao:x:503:500:Zhao, Yuan:/home/yzhao:/bin/tcsh

lixun:x:504:500:Li, Xun:/home/lixun:/bin/tcsh

linfu:x:505:500:Lin, Fu:/home/linfu:/bin/tcsh

zhxl:x:506:500:Zhang, Xinglong:/home/zhxl:/bin/tcsh

liyan:x:507:500:Li, Yan:/home/liyan:/bin/tcsh

bchzhou:x:508:500:Zhou, Bingcheng:/home/bchzhou:/bin/tcsh

zhmshi:x:509:500:Shi, Zhimin:/home/zhmshi:/bin/tcsh

wangyl:x:510:500:Wang, Yanling:/home/wangyl:/bin/tcsh

liuzh:x:511:500:Liu, Zhihai:/home/liuzh:/bin/tcsh

zhucx:x:512:500:Zhu, Cuixia:/home/zhucx:/bin/tcsh

liww:x:51:500:Li, Wenwen:/home/liww:/bin/tcsh

accelrys:x:601:601:Accelrys Products:/home/accelrys:/bin/tcsh

tripos:x:602:602:Tripos Products:/home/tripos:/bin/tcsh

ccdc:x:603:603:CCDC Products:/home/ccdc:/bin/tcsh 

schrodinger:x:604:604:Schrodinger

Products:/home/schrodinger:/bin/tcsh

ccg:x:605:605:CCG Products:/home/ccg:/bin/tcsh

zhy:x:701:701:Zhang, Ya:/home/zhy: /bin/tcsh

wanggt:x:702:702:Wang, Guitao:/home/wanggt: /bin/tcsh



Linux 批量设置密码


编写 userpwfile.txt 文件(如下,xxxxxx 为具体的密码),然后执

 chpasswd < userpwfile.txt 导入密码,再执行 pwconv 命令将

/etc/passwd 加密,同步用户信息到/etc/shadow文件。

userpwfile.txt

wangrx:xxxxxx

liuzg:xxxxxx

tjcheng:xxxxxx

yzhao:xxxxxx

lixun:xxxxx

linfu:xxxxxx

zhxl:xxxxxx 

liyan:xxxxxx

bchzhou: xxxxxx

zhmshi: xxxxxx

wangl: xxxxxx

liuzh: xxxxxx

zhucx: xxxxxx

liww: xxxxxx

accelrys: xxxxxx

tripos: xxxxxx

ccdc: xxxxxx

schrodinger: xxxxxx

ccg: xxxxxx

zhy: xxxxxx

wanggt: xxxxxx



批量添加用户后目录权限的设置,使同一工作组用户之间可以相互访

问各自目录,但不能修改其他用户目录中的文件。


chmod –R a+rx home 

cd home

chmod –R g+rx *


Linux 批量删除用户

编辑 delusers.sh 文件(如下),然后执行 shdelusers.sh

delusers.sh

userdel –r tripos

userdel –r ccdc

userdel –r ccg


附:


管理用户(user)的工具或命令

useradd

adduser

passwd

usermod

注:添加用户;

注:为用户设置密码;

注:修改用户命令,可以通过 usermod来修改登

录名、用户的家目录等等;

pwconv

注:使用影子密码口令系统,将/etc/passwd

密,同步用户信息到/etc/shadow 文件。pwck

注:pwck 是校验用户配置文件/etc/passwd

/etc/shadow 文件内容是否合法或完整;

pwunconv 注:换为传统口令系统,是 pwconv 的立逆操作,从

/etc/shadow  /etc/passwd 创建/etc/passwd,会删除

/etc/shadow 文件;


二,脚本作用Linux 批量添加和删除用户

批量添加用户
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/bash
# for  useradd
read -p  "pleae enter a number (1-99):"  num
read -p  "please enter prefix :"  pre
read -p  "please enter passwd:"  pwd
read -p  "please enter expire time(YYYY/mm/dd):"  etime
for  ((i= 1 ; i<= "$num" ; i++))
do
if  [ $i -lt  10  ] ; then
  name= "$pre" 0 "$i"
  else
  name= "$pre" "$i"
fi
useradd -e $etime $name
echo $pwd |passwd $name --stdin &>/dev/ null  #自动设置密码
done

批量删除用户

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
# for  userdel
if  [ $# -le  0  ] ; then
echo  "erro:please enter the prefix"
exit  1
fi
tar -czf /backup/users.tgz /etc/passwd /etc/shadow /etc/group&>/dev/ null
del=$(grep  "$1"   /etc/passwd |awk -F ":"  '{print$1}'  |grep -v  "root" )
for  in  $del
do
userdel -r $d
done


本文转自陈仲阳0 51CTO博客,原文链接:http://blog.51cto.com/wolfword/1309419


相关文章
|
Linux 数据安全/隐私保护
linux 创建及删除用户命令
linux 创建及删除用户命令
107 1
|
Ubuntu Linux 网络安全
Linux Debian11服务器安装SSH,创建新用户并允许远程SSH远程登录,并禁止root用户远程SSH登录
本文介绍了Linux Debian11服务器安装SSH,创建新用户并允许远程SSH远程登录,并禁止root用户远程SSH登录。
3365 1
Linux Debian11服务器安装SSH,创建新用户并允许远程SSH远程登录,并禁止root用户远程SSH登录
|
Linux 数据安全/隐私保护
Linux Debian11创建新用户和删除用户
Linux Debian11创建新用户和删除用户
5453 0
Linux Debian11创建新用户和删除用户
|
Linux
36. 【Linux教程】Linux 删除用户组
36. 【Linux教程】Linux 删除用户组
250 0
|
Linux
31. 【Linux教程】Linux 删除用户
31. 【Linux教程】Linux 删除用户
168 0
|
存储 Shell Linux
【Shell 命令集合 系统管理 】Linux 删除用户 userdel 命令 使用指南
【Shell 命令集合 系统管理 】Linux 删除用户 userdel 命令 使用指南
583 2
|
Ubuntu 关系型数据库 MySQL
linux创建用户创建组删除用户以及组分配权限
linux创建用户创建组删除用户以及组分配权限
116 0
|
Linux 数据安全/隐私保护
Linux新建用户、删除用户以及用户之间的切换
Linux新建用户、删除用户以及用户之间的切换
|
Linux Windows
OracleVirtualBo界面太小,操作界面对用户不友好?如何使得界面最大化且方便在Windows和Linux环境之间切换应用呢?
OracleVirtualBo界面太小,操作界面对用户不友好?如何使得界面最大化且方便在Windows和Linux环境之间切换应用呢?
330 0
OracleVirtualBo界面太小,操作界面对用户不友好?如何使得界面最大化且方便在Windows和Linux环境之间切换应用呢?
|
运维 Linux Shell
Linux基础知识- 系统随你玩之--文件的用户与用户组
Linux基础知识- 系统随你玩之--介绍文件的用户与用户组并带领大家实际操作
Linux基础知识- 系统随你玩之--文件的用户与用户组