老男人百科 > 百科 > 正文

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

2023-05-14 19:10:57 阅读( 9087)

adduser-添加用户账号,与useradd是同一命令。

使用adduser命令时,它会添加这个名称,创建一个与用户名同名的组名,将这个用户名添加到自己的组中,在/home目录中创建一个与用户名同名的目录,将/etc/skel目录中的内容复制到/home/用户名/目录中,并提示输入密码和与这个用户名相关的信息。

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

Root@xxx:/xxx# useradd myadmin # Create an ordinary user, my administrator.

使用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时,如果不添加任何参数选项,比如# sudouuseraddtest,那么创建的用户将是默认的“三无”用户:无主目录、无密码、无系统Shell。

步骤如下:

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

(2)以username:password的格式创建一个与用户密码对应的文件serc.txt(注意文件格式)。

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 '好,新建筑完成了'

(4)执行脚本文件,检查执行过程。

root@liu:/home/liu/Desktop/Dos# sh aa.sh

新建筑完工

如果执行中没有错误,useradd命令不会输出任何信息,也不会与用户交互。但是用户必须记住那些设置,否则添加的用户可能会有一些意想不到的结果。

总结上来讲,在ubuntu中,adduser更适合初级使用者,因为不用记住那些繁琐的参数选项,按照系统提示一步一步来就可以了,缺点是整个创建过程复杂漫长;而useradd更适合有一些高级经验的用户。

往往一行带参数的命令就能解决很多问题,所以创建起来非常方便。

专题页