一个人
重复同一个 *** 作成百上千次,难免不会出现疲劳而导致出现错误的可能,下面就介绍一种通过命令的方法一次批量添加用户1、首先你需要搞到公司的人员表(这个一般都可以在人事部搞到手),然后对人员表做一下简单的修改,修改后的格式如下,分成五个部分,分别是:姓、名、姓名、用户名、登录密码。2、下面要做的就是把他保存成
CSV后缀名的文件,在“文件”中选择“另存为”选择CSV的格式3、然后把文件拷贝到域控的C盘根目录下用记事本打开此文件,可以看到生成如下的格式以下是我的
域中
OU的情况现在我要用命令批量的把用户添加到
名为“员工”的OU里。4、运行cmd进入命令行模式,先输入以下命令,查看能否正常输入变量C:\for
/f
"tokens=1,2,3,4,5
delims=,"
%a
in
(person.csv)
do
@echo
%a
%b
%c
%d
%e可以正常显示如下5、接下来我们就要输入完整的命令行来进行批量的用户添加for
/f
"tokens=1,2,3,4,5
delims=,"
%a
in
(person.csv)
do
dsadd
user
"cn=%c,ou=员工,dc=myloverxhy,dc=com"
-samid
%d
-upn
%d@myloverxhy.com
-ln
%a
-fn
%b
-pwd
%e
-disabled
yes其中ou
对应为你要添加到的OU名两个dc按顺序分别对应你的
域名
@myloverxhy.com对应你的后缀Disabled
yes定义添加完的用户是禁用的
运行命令
后结果如下成功添加用户。接下来我们到OU里查看用户,已经全部出现,并且显示为禁用我们可以选中所有用户,然后右键“启用账户”即可完成。我们可以测试使用账号在域中登录,是可以完成的。
一、为什么需要大批量添加用户有时需要让几十个或更多的用户在主机上完成相同或相似的任务,比如想同时添加一堆的ftp 用户,这些ftp用户归属同一组,但不允许他们通过终端或远程登录服务器;有时可能为了教学,比如有50个学生,并且每个学生在服务器上有一个独立的用户名,能登录系统,并能管理自己的帐号或完成一些在自己权限下的作业;
二、批量用户添加流程;
批量添中用户流程是通过newusers 导入一个严格按照/etc/passwd 的书写格式来书写内容的文件来完成添加用户,然后通过chpasswd 导入用户密码文件来完成批量更新用户密码的过程;
1、newusers 成批添加用户的工具;
其用法很简单,newusers 后面直接跟一个文件;文件格式和/etc/passwd 的格式相同;
用户名1:x:UID:GID:用户说明:用户的家目录:所用SHELL
值得一提的是关于SHELL类型,查看主机上所有SHELL ,可以通过chsh 来查看;
[root@localhost beinan]# chsh --list
/bin/sh
/bin/bash
/sbin/nologin
/bin/ksh
/bin/tcsh
/bin/csh
/bin/zsh
其中除了/sbin/nologin ,其它类型的SHELL 都能登录系统;nologin 大多是虚拟用户用的SHELL ,也就是说虽然他是系统用户,但他并无登录系统的权限;如果您想添加这类用户,就把他的SHELL 设置成/sbin/nologin ,比如上面的例子;
2、chpasswd 批量更新用户口令工具;
chpasswd 工具是成批更新用户口令的工具,是把一个文件内容重新定向添加到/etc/shadow中;
chpasswd <文件>但文件的内容并不是没有约定的,必须以下面的格式来书写,并且不能有空行;
用户名:口令
用户名1:口令1
用户名2:口令2
三、批量添加用户实例;
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
userfile.txt 文件内容格式和 /etc/passwd 的格式是一样的,必须严格按照/etc/passwd 的格式来书写;上面所添加的用户都不能登录系统,但完全能用于ftp登录,但您得在相应ftp服务器的配置文件中打开让本地用户有读写权限;如果您想让上面的部份用户可以登录系统,可以把SHELL类似改一改,比如改成/bin/bash ;
再来书写新增用户的密码文件userpwdfile.txt内容;这个文件的内容中的用户名要与 userfile.txt用户名相同;也就是先添加了win00到win02的用户,现在要为这些用户更新密码;比如下面的;
win00:123456
win01:654321
win02:123321
2、通过newusers和chpasswd 完成批量添加用户;
[root@localhost ~]# newusers userfile.txt
[root@localhost ~]# chpasswd <userpwdfile.txt
这样就算添加完成了,如果您发现 /etc/passwd 中能发现用户的明口令,您可以通过下面的命令来映射到 /etc/shadow文件名;
[root@localhost ~]# pwconv
这个问题有田笔记来回答一下吧步骤
(1)打开命令终端
(2)输入cat
useradd.sh
命令说明:使用cat命令创建并打开编辑名称为useradd.sh的文件
(3)groupadd
shengliyoutian
命令说明:创建名称为shengliyoutian的用户组
(4)输入命令,并且回车
#!/bin/bash
groupadd
shengliyoutian
for
username
in
tian1
tian2
tian3
tian4
tian5
tian6
tian7
tian8
do
useradd
-G
tiangroup
$username
echo
"123456"|passwd
--stdin
$username
done
(5)输入sh
useradd.sh
使用SH命令运行sh文件
,在提示中输入密码
有田笔记亲自在Redhat5,Ubutu14.10,和CentOS6.5上测试通过,下面贴一下代码
[root@shengliyotuian
bin]#
cat
useradd.sh
#!/bin/bash
groupadd
shengliyoutian
for
username
in
tian1
tian2
tian3
tian4
tian5
tian6
tian7
tian8
do
useradd
-G
shengliyoutian
username
echo
"123456"|passwd
--stdin
$username
done
[root@shengliyotuian
bin]#
sh
useradd.sh
Changing
password
for
user
feng1.
passwd:
all
authentication
tokens
updated
successfully.
拓展:
linux下面添加用户的命令是
useradd
username
linux好多命令是可以跟多参数的,尝试使用useradd
username1,username2,username3还有useradd
username1
username2
username3
均失败了,后来偶然在书上看到的解决方法,通过BASH命令实现
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)