zl程序教程

您现在的位置是:首页 >  系统

当前栏目

linux下使用adduser与useradd命令批量添加用户详解程序员

Linux批量命令程序员 使用 详解 用户 添加
2023-06-13 09:19:57 时间

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

一.adduser批量添加用户

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

步骤如下:

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

 stu1 

 stu2 

 stu3 

 stu4
stu5
stu6

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

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

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

[email protected]:/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)执行该脚本文件,查看执行过程

[email protected]:/home/liu/Desktop/Dos# sh aa.sh 

新建完成

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

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

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/2065.html

服务器部署程序员系统优化网站设置运维