zoukankan      html  css  js  c++  java
  • 用户管理 之 在Linux系统中,批量添加用户的操作流程

    一、阅读此文件您需要掌握的基础知识;

    《Linux 用户(user)和用户组(group)管理概述》
    《用户(user)和用户组(group)配置文件详解》
    《Linux 用户(User)查询篇》
    《Linux 用户管理工具介绍》
    《Linux 系统中的超级权限的控制》


    二、为什么需要大批量添加用户;

    我们什么时候才需要大批量添加用户呢?有时我们需要让几十个或更多的用户在主机上完成相同或相似的任务,比如我们想同时添加一堆的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
    ... ...


    四、批量添加用户实例;


    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和chpasswd 完成批量添加用户;

    [root@localhost ~]# newusers userfile.txt
    [root@localhost ~]# chpasswd < userpwdfile.txt

    这样就算添加完成了,如果您发现 /etc/passwd 中能发现用户的明口令,您可以通过下面的命令来映射到 /etc/shadow文件名;

    [root@localhost ~]# pwconv


    五、后记;

    用户管理就算差不多完成了,到目前为止,我已经写了六篇,虽然质量不太高,但也算能称得上比较系统;在以后的几天里,我要写一写文件管理;呵。。。进度是慢了点,但还是在坚持着;坚持就是胜利,不是吗?

    六、关于本文;

    本文是大批量添加用户的一个实例,主要是newusers和chpasswd的用法的解说;实话实说,这两个工具还是有用的;至于能用在哪,我前面已经说过了,可以用在ftp的虚拟用户,可以用到教学中;

    本文没有技术含量,不值一提,但不写出来,感觉对于一个系列文档来说又少了内容;还是写出来为好;

    七、致谢;

    八、参考文档;

    参考man 和help ;

  • 相关阅读:
    一款纯css3实现的响应式导航
    一款基于TweenMax.js的网页幻灯片
    4款基于jquery的列表图标动画切换特效
    随着鼠标移动的文字阴影
    一款纯css实现的垂直时间线效果
    一款基于jquery的侧边栏导航
    (转) 共享个很棒的vim配置
    [Leetcode] String to Integer (atoi)
    dia无法输入中文?
    [Leetcode] Sum Root to Leaf Numbers
  • 原文地址:https://www.cnblogs.com/licheng/p/6104186.html
Copyright © 2011-2022 走看看