您的位置:首页 > 运维架构 > Linux

Linux 批量添加和删除用户

2013-10-15 23:25 495 查看
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/tcshzhmshi: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/tcshliww: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:xxxxxxliuzg: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)的工具或命令useraddadduserpasswdusermod
注:添加用户; 注:为用户设置密码; 注:修改用户命令,可以通过 usermod来修改登录名、用户的家目录等等; pwconv
注:使用影子密码口令系统,将/etc/passwd加 密,同步用户信息到/etc/shadow 文件。pwck
注:pwck 是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;pwunconv 注:换为传统口令系统,是 pwconv 的立逆操作,从/etc/shadow 和 /etc/passwd 创建/etc/passwd,会删除/etc/shadow 文件;

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

批量添加用户
#!/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
批量删除用户
#!/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 d in $del
do
userdel -r $d
done
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: