绿色资源网:您身边最放心的安全下载站! 最新软件|热门排行|软件分类|软件专题|厂商大全

绿色资源网

技术教程
您的位置:首页操作系统linux → linux系统中使用adduser与useradd命令批量添加用户

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

我要评论 2013/03/14 11:57:02 来源:绿色资源网 编辑:www.downcc.com [ ] 评论:0 点击:292次

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

关键词:linux

阅读本文后您有什么感想? 已有 人给出评价!

  • 0 欢迎喜欢
  • 0 白痴
  • 0 拜托
  • 0 哇
  • 0 加油
  • 0 鄙视