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

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

  在使用命令useradd时,它会添加这个用户名,并创建和用户名相同的组名,但它并不在/home目录下创建基于用户名的目录,也不提示创建新的密码。

  root@xxx:/xxx# useradd myadmin # 创建普通用户myadmin

  用useradd命令创建的是一个普通用户,不能用这个用户名来登陆系统。

  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)批量添加的脚本文件

  ##添加用户,并且在/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比较适合有些高阶经验的使用者,往往一行命令加参数就能解决很多问题,所以创建起来十分方便。

时间: 2024-08-04 12:16:40

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

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

在linux下添加用户的命令有 adduser与useradd ,这两个命令有些不同 .下面结合批量添加用户来说明. 一.adduser批量添加用户        使用adduser时,创建用户的过程更像是一种人机对话,系统会提示你输入各种信息,然后会根据这些信息帮你创建新用户.这样我们没有必要知道那么多的参数,一样可以达到自定义添加用户. 步骤如下: (1)建立用户名列表文件username.txt stu1 stu2 stu3 stu4 stu5 stu6 (2)批量添加的脚本文件 ###在

Linux系统中下载文件的wget命令行工具

简介 Linux系统中的wget是一个下载文件的命令行工具. 对于Linux用户是必不可少的工具,对于经常要下载一些软件或从远程服务器恢复备份到本地服务器,这个命令尤为重要.wget支持HTTP,HTTPS和FTP协议,可以使用HTTP代理. 自动下载 wget支持自动下载,即wget可以在用户退出系统的之后在后台执行.这意味这你可以登录系统,启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成,这是个牛气冲天的功能. 完全重建 wget 可以跟踪HTML页面上的链接依次下载

Linux系统中的ps进程查看命令使用实例集锦

  linux 中ps命令是Process Status的缩写.ps命令可以列出系统中当前运行的进程,所列出的进程是执行ps命令这个时刻正在运行的进程. 如果要动态显示进程信息,需要使用top命令. 通过ps命令,可以确定哪些进程正在运行和运行状态.进程是否结束.进程是否僵死,哪些进程占用过多资源等. 要杀死进程,使用kill命令,例:kill 12345 (12345为进程的pid) linux进程有5种状态 1.运行(正在运行或在运行队列中等待) 2.中断(休眠中,受阻,或等待某个条件的形成

Linux系统中Kickstart+HTTP+DHCP+TFTP全自动批量安装部署

说明: Kickstart服务器系统:CentOS 5.10 64位 IP地址:192.168.21.128 需要安装部署的Linux系统:CentOS 5.10 64位 eth0(第一块网卡,用于外网)IP地址段:192.168.21.160-192.168.21.200 eth1(第二块网卡,用于内网)IP地址段:10.0.0.160-10.0.0.200 子网掩码:255.255.255.0 网关:192.168.21.2 DNS:8.8.8.8 8.8.4.4 所有服务器均支持PXE网络

Linux系统中使用cmp和comm命令来比较两个文件

  cmp cmp 命令:比较任意两个类型的文件,且吧结果输出到标准输出,默认文件相同不输出,不同的文件输出差异 必要参数 -c 显示不同的信息 -l 列出所有的不同信息 -s 错误信息不提示 选择参数 -i<字符数> 指定字符数目 -v 显示版本信息 --help 显示帮助信息 [函数的返回值] 0 :文件时同样的 1 :文件是不同的 >1:发生错误 例: 代码如下: [root@localhost www]# cmp test1.rb test.rb #比较二个文件的不同 test1

在Linux系统中安装和使用apt-file命令

  刚才安装Spynner模块,使用的是easy_install spynner安装,各种文件缺失啊,无意中发现apt-file命令,从此再也不用担心编译软件缺少某个文件而不知所措了. 1.首先得安装apt-file命令 代码如下: apt-get install apt-file 2.接着更新apt-file的缓存 代码如下: apt-file update 3.现在你可以使用apt-file搜索缺失的文件了,比如编译过程中提示缺少 代码如下: root@test:~# apt-file se

linux系统中清理大文件的命令

查找大文件 find /dir -size +100M -exec ls -lh {} ; 如果要清空一些文本文件类的东西,可以使用 echo "" > /www/xxx.log 如果想直接删除大于50M的文件,使用命令 find /var/mail/ -size +50M -exec rm {} ; 如果想排序文件夹和文件,可以使用 du -s * | sort -nr | head

Linux系统中10个最危险的命令详解

我们大多数的朋友都是一辈子都用的windows系统,基本用鼠标就可以完成所有的操作,但是在Linux系统中那么基本上就是键盘+命令操作电脑的,Linux命令行佷有用.很高效,也很有趣,但有时候也很危险,尤其是在你不确定你自己在正在做什么时候.这篇文章并不打算引来你对Linux或linux 命令行的愤怒,只是想让你意识到在你运行某些命令时应该三思而后行.(译注:当然,以下命令通常都是在root权限下才能将愚蠢发挥到无可救药;在普通用户身份下,破坏的只是自己的一亩三分地.) 1. rm -rf 命令

Linux系统中10个最危险的命令

  我们大多数的朋友都是一辈子都用的windows系统,基本用鼠标就可以完成所有的操作,但是在Linux系统中那么基本上就是键盘+命令操作电脑的,Linux命令行佷有用.很高效,也很有趣,但有时候也很危险,尤其是在你不确定你自己在正在做什么时候.这篇文章并不打算引来你对Linux或linux 命令行的愤怒,只是想让你意识到在你运行某些命令时应该三思而后行.(译注:当然,以下命令通常都是在root权限下才能将愚蠢发挥到无可救药;在普通用户身份下,破坏的只是自己的一亩三分地.) 1. rm -rf