linux下使用adduser与useradd命令批量添加用户

在linux下添加用户的命令有 adduser与useradd ,这两个命令有些不同 。下面结合批量添加用户来说明。

一.adduser批量添加用户

       使用adduser时,创建用户的过程更像是一种人机对话,系统会提示你输入各种信息,然后会根据这些信息帮你创建新用户。这样我们没有必要知道那么多的参数,一样可以达到自定义添加用户。

  步骤如下:

  (1)建立用户名列表文件username.txt  

 stu1
 stu2
 stu3
 stu4 stu5 stu6

  (2)批量添加的脚本文件  

###在这里也可以设置用户所属的用户组for a
do
    echo "/home/student/$a"
    adduser --home /home/student/$a $a
done

      (3)执行该脚本文件,查看执行过程

root@liu:/home/liu/Desktop/Dos# sh t.sh `cat < username.txt`
/home/student/stu1
Adding user `stu1' ...
Adding new group `stu1' (1002) ...
Adding new user `stu1' (1001) with group `stu1' ...
Creating home directory `/home/student/stu1' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for stu1
Enter the new value, or press ENTER for the default
    Full Name []:
    Room Number []:
    Work Phone []:
    Home Phone []:
    Other []:
Is the information correct? [Y/n] 

可见,在执行的过程中,系统交互式的询问,每个用户的设置信息。虽然简化了新建用户的程序,但是在批量添加用户的过程中是不可取的。

二.useradd批量添加用户

   使用useradd时,如果后面不添加任何参数选项,例如:#sudo useradd test创建出来的用户将是默认“三无”用户:一无Home Directory,二无密码,三无系统Shell。

  步骤如下:

  (1)建立用户名列表文件username.txt (同上)

  (2)创建用户密码对应文件serc.txt,格式为username:password (注意文件的格式)   

stu1:tt1
stu2:tt2
stu3:tt3
stu4:tt4
stu5:tt5
stu6:tt6

   (3)批量添加的脚本文件aa.sh

##添加用户,并且在/home/ 下为用户生成用户目录。cat < username.txt | xargs -n 1 useradd -m##批处理模式下更新密码
chpasswd < serc.txt##将上述的密码转换到密码文件和组文件
pwconv##结束验证信息
echo "OK 新建完成"

(4)执行该脚本文件,查看执行过程

root@liu:/home/liu/Desktop/Dos# sh aa.sh
新建完成

         useradd命令,在执行没有出错的情况下,不会输出任何的信息,不会与用户交互。但是用户必须要记住那些设置项目,否则添加的用户可能出现一些预想不到的结果。

         总结上来讲,在Ubuntu中,adduser更适合初级使用者,因为不用去记那些繁琐的参数选项,只要跟着系统的提示一步一步进行下去就行,缺点就是整 个创建过程比较复杂而漫长;而useradd比较适合有些高阶经验的使用者,往往一行命令加参数就能解决很多问题,所以创建起来十分方便。

 

参考:

http://www.5dlinux.com/article/1/2009/linux_33277.html

时间: 2024-09-11 16:44:51

linux下使用adduser与useradd命令批量添加用户的相关文章

linux系统中使用adduser与useradd命令批量添加用户

adduser - 添加用户账号,与useradd是同一命令.需要root权限才能执行(有root权限). 在使用adduser命令时,它会添加这个名,并创建和用户名名称相同的组名,并把这个用户名添加到自己的组里去,并在/home目录想创建和用户名同名的目录,并拷贝/etc/skel目录下的内容到/home/用户名/的目录下,并提示输入密码,并提示填写相关这个用户名的信息. 在使用命令useradd时,它会添加这个用户名,并创建和用户名相同的组名,但它并不在/home目录下创建基于用户名的目录,

linux下使用ssh远程执行命令批量导出数据库到本地_linux shell

前天正在跟前端的同事调试功能.服务器开好,模拟的玩家登录好,就在倒计时.这时突然运营的同事跑过来说要统计几个服务器玩家的一些情况,也就是需要从几个服的数据库导出部分玩家的数据.好吧,我看了一下时间,11:47.心想,跟前端调试完,去吃个饭再午休一下那就下午再给吧.没想对方来一句"就导个数据库而已,要这么久么?",而且还是直接跟我上司说的.我嚓,好吧,我导.可问题来了,平时的统计是由php做的,批量部署这些是由运维做的.服务端完全没有对应的工具.而且服务器是在阿里云上的,数据库的用户是限

Linux下主机间文件传输命令

SCP命令: 简介: scp 命令在网络上的主机之间拷贝文件,它是安全拷贝(secure copy)的缩写. scp 命令使用 ssh 来传输数据,并使用与 ssh 相同的认证模式,提供同样的安全保障. 如果有公钥打通就不用密码,如果没有就会提示输入密码. 用法: 1 #Copy 本地文件 /etc/eva.log, 到远程机器 sysB, 用户 user 的家目录下 2 scp /etc/eva.log user@sysB:/home/user 3 #copy 远程机器 sysB 上的文件 /

借助Shell让你在Linux下也能用DOS命令

如果你是习惯于Windows命令提示符的IT人,当你第一次使用Linux命令行时 ,一定会感到无所适从.你所熟悉的DOS命令再Linux中基本不存在.摆在你面前 的是一大堆要记背的命令. 一种替代方案是利用强大的Linux外壳命令编写shell脚本,让你在Linux下也 能用DOS命令.下面告诉你怎么做. shell脚本编写基础 从定时备份到执行简单命令,Linux的shell脚本可以执行各种功能.几乎所 有的程序都可以用shell脚本来运行.在脚本中甚至可以包含一些简单的条件选 择.shell

Linux下非交互式远程执行命令脚本

  Linux下非交互式远程执行命令脚本(比ssh更好的方式) openssh在每台机器上都有,ssh与scp经常出现在我们的生活中. 然而当要管理的机器规模越来越大时,ssh登陆到目标机器进行管理就变得不现实了. 虽然可以直接在ssh后面接命令的方式,进行命令的执行. 但是ssh的严格的权限认证使得我们不得不输入密码,或是建立信任关系,很难去自定义一个特定的认证方式. 基于ssh的这种不足.于是笔者就写了一个jetfire,这个工具.比ssh多的一个重要的功能就是可以自定义认证方式,顺便避免了

linux下磁盘容量和df命令原理

df命令是linux下查看磁盘容量的常用命令.可以列出block数量,总容量,使用率等.这次使用python编写一个类似功能的模块,顺便学习一下df的原理. 直接输入df命令可以看到 Filesystem 1k-blocks Used Available Use% Mounted on 磁盘设备 blocks个数 使用的容量 有效容量 空闲率 挂载点 接下来就是这些参数怎么来的问题. /etc/mtab文件 /etc/mtab可以读出的是已经挂载的盘的信息,包括磁盘设备,挂载点,文件系统类型等.

linux下查询系统补丁版本的命令

问题描述 linux下查询系统补丁版本的命令 要做linux系统的信息采集,怎么获取操作系统的补丁版本号?(不是系统版本) 解决方案 不同的linux发行版不同 http://unix.stackexchange.com/questions/123794/ubuntu-how-to-install-the-patch-commandhttp://www.unix.com/red-hat/111950-list-all-patches-linux.html

Linux批量添加用户和组的命令

最近在定制ISO的时候,有个需求是特定的项目用特定的用户去运行,取消root权限.这样就需要根据项目默认创建一批用户.于是写了个简单的脚本在系统安装完成后自动添加用户 umask 0002   #批量创建用户组 for groups in aa bb cc dd do groupadd $groups done   #批量创建相同用户组的用户   for users in aa bb do useradd -g aa $users done useradd -g cc cc useradd -g

《Linux指令从入门到精通》——4.3 Linux下全屏幕文本编辑器的命令行方式

4.3 Linux下全屏幕文本编辑器的命令行方式 4.3.1 emacs:文本编辑指令 初步了解emacs编辑器的基础功能,学会使用emacs指令来进行文本编辑.电邮收发等各项功能. emacs [-可选参数] [文件名] Emacs (Editor MACroS编辑器宏) 是一个功能强大的文本编辑器.该指令不仅可以用来编辑文本文件,还可以收发电邮.编辑远程文档.通过Telnet登录远程主机.登录IRC.查看日历.支持多种编程语言(如C/C++,Perl,Python,Lisp等).管理日程和个