在Linux系统中批量添加用户的操作流程
文章作者 100test 发表时间 2007:03:14 16:23:36
来源 100Test.Com百考试题网
一、为什么需要大批量添加用户
我们什么时候才需要大批量添加用户呢?有时我们需要让几十个或更多的用户在主机上完成相同或相似的任务,比如我们想同时添加一堆的 ftp 用户,这些 ftp 用户归属同一组,但不允许他们通过终端或远程登录服务器;有时我们可能为了教学,比如我们有 50 个学生,并且每个学生在服务器上有一个独立的用户名,能登录系统,并能管理自己的帐号或完成一些在自己权限下的作业;
二、批量用户添加流程
批量添中用户流程是通过 newusers 导入一个严格按照 /etc/passwd 的书写格式来书写内容的文件来完成添加用户,然后通过 chpasswd 导入用户密码文件来完成批量更新用户密码的过程;
1、newusers 成批添加用户的工具;
其用法很简单, newusers 后面直接跟一个文件;文件格式和 /etc/passwd 的格式相同;
用户名 1:x:UID:GID: 用户说明 : 用户的家目录 : 所用 SHELL
举例:
win00:x:520:520::/home/win00:/sbin/nologin
win01:x:521:521::/home/win01:/sbin/nologin
......
值得一提的是关于 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 ,比如上面的例子;
关于用户名、 UID 、 GID 及用户的家目录是怎么回事,您可以读相应的参考文档;
2、chpasswd 批量更新用户口令工具;
chpasswd 工具是成批更新用户口令的工具,是把一个文件内容重新定向添加到 /etc/shadow 中;
chpasswd < 文件
但文件的内容并不是没有约定的,必须以下面的格式来书写,并且不能有空行;
用户名 : 口令
用户名 1: 口令 1
用户名 2: 口令 2
举例:
win00:123456
win01:654321
... ...