一、批量创建用户
通过命令newusers可以实现批量的创建用户。
这个命令的用法为 newusers file.txt(一个文本文件)
文本文件内存放需要批量添加的用户信息
但是对格式有要求
格式:
pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell
其格式就和/etc/passwd文件的格式是一样的

但是当执行完newusers批量创建完用户后,所生成答家目录下没有用户模板文件,这些文件需要手动拷贝

手动操作比较麻烦,所以使用脚本来执行:

  1. #!/bin/bash
  2. newusers $1 #该参数为用户文本文件的完整路径
  3. user_add =`cat $1 | grep $i | cut -d: -f1`
  4. for i in `cat $1 | awk -F ':' '{print $6}' #循环家目录
  5. do
  6. if `cat /etc/passwd | grep $i | wc -l` != 1
  7. echo "User Add Error ,Two or more user used same home directory! $i" #如果有两个家目录则报错
  8. exit(1)
  9. fi
  10. cp -r /etc/skel $i
  11. chown -r $user_add.$user_add $i
  12. done

二、批量修改用户密码
通过命令chpasswd 来实现
实现方法:

cat passwd.txt | chpasswd #直接实现修改密码

其中passwd.txt文件格式如下:
文件格式:user:password
user2:password2

linux批量添加用户和批量修改密码的更多相关文章

  1. YAML_04 用user模块添加用户,并修改密码

    ansible]# vim user.yml --- - hosts: cache   remote_user: root   vars:     username: lisi   tasks:   ...

  2. (转)通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加

    通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加 原文:http://www.21yunwei.com/archives/4773 有一个朋友问我如何批量创建用户和设置密码 , ...

  3. centos7 lvm合并分区脚本初探-linux性能测试 -centos7修改网卡名字-jdk环境安装脚本-关键字查询文件-批量添加用户

    1.#!/bin/bash lvmdiskscan | grep centos > /root/a.txt a=`sed -n '1p' /root/a.txt` b=`sed -n '2p' ...

  4. 【转载】干货再次来袭!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载八)用命令实现批量添加用户

    Windows添加用户需要至少5个界面,而Linux一条命令就搞定了,这是不是高效人士办公第一法则呢.本文不给你一堆参数和选项,不让你见识教条主义,只给你最实用的代码. 想每天能听到小妞的语音播报,想 ...

  5. 用户管理 之 在Linux系统中,批量添加用户的操作流程

    一.阅读此文件您需要掌握的基础知识: <Linux 用户(user)和用户组(group)管理概述><用户(user)和用户组(group)配置文件详解><Linux 用 ...

  6. linux下添加用户到sudo组 并禁止sudo用户修改密码

    linux下添加用户到sudo组 创建用户  useradd hanli 为新用户设置密码  passwd hanli 创建用户组  groupadd  op 将用户添加到用户组  usermod - ...

  7. Shell 脚本批量添加用户和用户密码

    #!/bin/bash#批量添加用户 设置密码for i in `seq 1 10`do if ! id user$i &> /dev/null then useradd user$i ...

  8. 利用shell实现批量添加用户

    批量添加用户并设置随机密码,把添加的用户的名字和密码保存到文件中. [root@lamp scripts]# cat user.sh #!/bin/sh ` do pass=$(-) //取随机数的方 ...

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

    一.Shell脚本的编写及测 目标: 本例要求两个简单的Shell脚本程序,任务目标如下: 1> 编写一个面世问候 /root/helloworld.sh 脚本,执行后显示出一段话“Hello ...

随机推荐

  1. 石子合并/能量项链【区间dp】

    题目链接:http://www.51mxd.cn/problem.php-pid=737.htm 题目大意:给出n个石子堆以及这n个石子堆中石子数目,每次操作合并两个相邻的石子堆,代价为两个石子堆数目 ...

  2. c++ 行为型_备忘录模式(Memento)

    行为型_备忘录模式(Memento) 作用场景: 当意图在对象外面保存对象的内部状态,但是又不想破坏对象的封装性,就可以考虑备忘录模式. 解释: 其参与者包括 1.Memnto(备忘录,如下列Coun ...

  3. [Agc029E]Wandering TKHS_树形dp_树上差分

    Wandering TKHS 题目链接:https://atcoder.jp/contests/agc029/tasks/agc029_e 数据范围:略. 题解: 好神啊 Orz司队 https:// ...

  4. SQLSERVER 查看服务器IP地址的命令

    今天进行负载均衡的测试的时候 想查询一下数据库相关信息 百度了下 找到解决方案为: SELECT SERVERNAME = CONVERT(NVARCHAR(),SERVERPROPERTY('SER ...

  5. (二十八)动态盐的MD5加密算法(java实现)

    目录 文章目录 @[toc] 源代码: 函数用法讲解: 用法代码实例: 对比普通 **`MD5`** 的优点 实现思路: 后来我发现,BCryptPasswordEncoder 是这个思路的实现的最优 ...

  6. Let's Code

    Let's Code Happy Coding, Happy OI #include <bits/stdc++.h> using namespace std; int main() { c ...

  7. shell使用ps -ef|grep xxx时不显示grep xxx进程的方法

    在使用ps -ef|grep xxx时会将grep xxx的进程也带出来, 而在脚本中如果想要截取此命令结果的一部分,则grep xxx的进程会显得多余,如下: [root@localhost ~]# ...

  8. hdu 2189还是dp..

    题目的意思比较简单,类似计数dp. 一开始我想让dp[i]+=dp[i-prime] 每次遍历比i小的所有素数,然后发现有重叠的 比如 2+3 3+2 就导致错误.看了其他人的填充方式,发现定下pri ...

  9. 浅谈hashcode

    哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有一个方法: 1 public native int hashCode(); 根据 ...

  10. LeetCode:627.交换工资

    题目链接:https://leetcode-cn.com/problems/swap-salary/ 题目 给定一个 salary 表,如下所示,有 m = 男性 和 f = 女性 的值.交换所有的 ...