linux一次创建100个用户怎么创建用命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux一次创建100个用户怎么创建用命令相关的知识,希望对你有一定的参考价值。

1、Ubuntu中创建新用户需要先获取root管理员权限,因此先使用sudo su命令获取最高权限。注意获取root权限需要输入你自己的用户密码。

2、批量创建100个以“duanzhang”为用户名前缀的用户,命令为:seq -w 100|sed -r "s#(.*)#useradd duanzhang\\1#g"|bash 。

3、查看新用户是否创建成功,命令为:tail -100 /etc/passwd 。这条命令的意思是输出passwd文件的后100行。

4、将要修改的用户名和密码写入pass.log文件中,命令为:echo duanzhang01..20:$((RANDOM))|tr " " "\\n" >pass.log 。命令里的RANDOM表示生成随机数,以作为随机密码。

5、查看生成的pass.log文件的内容,以确认是否成功写入文件。从图中可以看到生成了100行数据,每一行使用冒号隔开用户名及其对应的密码,可以看到这100个密码并无规则,是随机的。

6、执行chpasswd命令:chpasswd<pass.log 。其中chpasswd命令在Ubuntu中用于批量更改用户密码,它需要先读取我们前一步生成的密码文件pass.log,然后根据该文件内容修改密码。

7、根据pass.log文件里记录的这100个用户的密码逐个查看对应的随机密码是否有效。使用su命令切换到新用户并输入pass.log里记录的对应的密码,成功登录,可见用户创建成功。

参考技术A

你可以写一个shell脚本

基本上,批量添加用户有两种方式:

一是用useradd + passwd命令配合脚本来添加;

二是用newusers+chpasswd来添加。

方法一、useradd + passwd命令配合脚本来添加

用户的初始密码被设为用户名+123

#! /bin/bash
#
#batch add users with file called users.list
#
for username in $(more users.list)
do
if [-n $username]
then
  useradd -m $username
  echo
  echo $username"123" | passwd -- stdin $username
  echo
  echo "User $username's password is changer!"
else
  echo "The username is null!"
fi
done
~

其中users.list文件内容如下:

johnson
lily
kelly


方法二、newusers+chpasswd批量添加用户




1、首先我们创建用户文件和密码文件;

我们要创建包含新用户的文件userfile.txt ;另一个是为新添加的用户设置密码的userpwdfile.txt;

[root@localhost ~]# touch userfile.txt 
[root@localhost ~]# touch userpwdfile.txt

然后用文本编辑器打开文件userfile.txt,添加如下内容;

win00:x:520:520::/home/win00:/sbin/nologin 
win01:x:521:521::/home/win01:/sbin/nologin 
win02:x:522:522::/home/win02:/sbin/nologin 
win03:x:523:523::/home/win03:/sbin/nologin 
win04:x:524:524::/home/win04:/sbin/nologin 
win05:x:525:525::/home/win05:/sbin/nologin 
win06:x:526:526::/home/win06:/sbin/nologin 
win07:x:527:527::/home/win07:/sbin/nologin 
win08:x:528:528::/home/win08:/sbin/nologin 
win09:x:529:529::/home/win09:/sbin/nologin

userfile.txt 文件内容格式和 /etc/passwd 的格式是一样的,必须严格按照/etc/passwd 的格式来书写;上面所添加的用户都不能登录系统,但完全能用于ftp登录,但您得在相应ftp服务器的配置文件中打开让本地用户有读写权限;如果您想让上 面的部份用户可以登录系统,可以把SHELL类似改一改,比如改成/bin/bash ;

我们再来书写新增用户的密码文件userpwdfile.txt内容;这个文件的内容中的用户名要与 userfile.txt用户名相同且严格按照“用户名:密码”的格式来写,一个用户一行;也就是说我们先是添加了win00到win09的用户,现在要为这些用户更新密码;比如下面的;

win00:123456 
win01:654321 
win02:123321 
win03:qweewq 
win04:google 
win05:adadwc 
win06:wsscee 
win07:xxec32 
win08:543wew 
win09:3ce3wf

2、用newusers批量添加用户,此时用户是没有密码的

[root@localhost ~]# newusers userfile.txt

2、执行命令/usr/sbin/pwunconv,将/etc/shadow产生的shadow密码解码,然后回写到/etc/passwd中, 并将/etc/shadow的shadow密码栏删掉。这是为了方便下一步的密码转换工作,即先取消shadow password功能,关闭影子文件。

[root@localhost ~]# pwunconv

3、 用chpasswd批量修改密码
[root@localhost ~]# chpasswd < userpwdfile.txt

4、最后不要忘了恢复影子文件,保证安全,您可以通过下面的命令来映射到 /etc/shadow文件名

[root@localhost ~]# pwconv

追问

原谅我啥也不懂是个新手八,shell脚本是什么!怎么添加。。还要给100个用户添加密码都为123456 100个用户分别为user1~user100 !/bin/bash写在哪里直接写在root下吗?麻烦了

本回答被提问者和网友采纳
参考技术B RHEL 6.3 批量添加新用户后,登录不正确,即不能登录到系统,只有一个一个修改密码才行。

怎么用Linux命令联网

linux联网命令上网,和图形用户界面相比,稍微麻烦一点,适合mini的linux,建议图形用户界面的用户还是用简单的方法联网即可。
1:先打开虚拟机至图形用户界面,看一下是否有网络连接
2:同时按住Ctrl+Alt+F2切换到命令行界面
3:开始输入命令打开网络连接,首先输入ifconfig
4:再输入ifup eth0 命令,此命令用来打开网络
5:切换到图形用户界面,查看网络是否已经开启
6:网络已经开启成功,下面用linux自带浏览器打开页面尝试一下上网
7:输入ifdown eth0即可关闭网络,输入之后切换界面观察一下
以上就是怎么用Linux命令联网的操作步骤,希望我的建议能够帮助到你。
参考技术A 工具/原料

装有Linux的虚拟机
方法/步骤

第一步,先打开虚拟机至图形用户界面,看一下是否有网络连接。

第二步,同时按住Ctrl+Alt+F2切换到命令行界面,
第三步,开始输入命令打开网络连接,首先输入ifconfig,。

第四步,再输入ifup eth0 命令,此命令用来打开网络。

第五步,切换到图形用户界面,查看网络是否已经开启,。

第六步,第五步网络已经开启成功,下面用linux自带浏览器打开页面尝试一下上网。

7
第七步,以上六步就是全部过程,这一步用来关闭联网命令,输入ifdown eth0即可关闭网络,输入之后切换界面观察一下。

以上是关于linux一次创建100个用户怎么创建用命令的主要内容,如果未能解决你的问题,请参考以下文章

linux如何切换到其他用户

linux用mknod怎么创建设备?怎么用?

vm虚拟机查看共有多少个用户的命令

怎么在Linux下批量添加用户啊?

Linux查看所有用户用啥命令

Linux查看所有用户用啥命令