Linux账号管理之第一篇:对用户进行管理(一般都是系统管理员进行的操作) useradd usermod passwd userdel chage finger chfn chsh id 等命令

一、账号登录的时候进行了哪些操作?

    Linux 系统上面的用户如果需要登入主机以取得 shell 癿环境来工作时,他需要如何进行呢?

      首先,他必须要在计算机前面利用 tty1~tty7 的终端机提供的 login 接口,并输入账号和密码后才能够登入。 如果是透过网绚的话,那至少使用者就得要学习 ssh 这个功能了 (朋务器篇再来谈)。 那举你输入账号密码后,系统帮你处理了什么呢?

      1. 先找寻 /etc/passwd 里面是否有你输入的账号?如果没有则跳出,如果有的话则将该账号对应的UID 和 GID (在 /etc/group 中) 读出来,另外,该账号的家目录和 shell 设定也一并读出来     

      2. 再来则是核对密码表!这时 Linux 会进入 /etc/shadow 里面找出对应的账号和 UID,然后核对一下你刚刚输入的密码与里面的密码是否相符?
      3. 如果一切都 OK的话,就进入 Shell 控管的阶段!

 

二、熟悉掌握 /etcpasswd   /etc/shadow  /etc/group 等和账号密码的几个目录。

  1、/etc/passwd 的档案结构:(6个分号7个字段)    

    用户名:密码(加密):UID:GID:用户信息:家目录:shell设置   (6个分号7个字段)  

      如:root:x:0:0:root:/root:/bin/bash

      如:daemon:x:2:2:daemon:/sbin:/sbin/nologin

    注意:

      UID值的设置

        0:系统管理员(root)

        1~499:系统账号(保留给系统使用的ID ,我们不能使用该账号操作和登录)

        500~65535:给一般者使用的账号(现在的值肯定不止65535那么大)

  2、/etc/shadow 的档案结构:(8个分号9个字段)

    用户名:

    密码:

    最近更改密码日期:

    密码不可被更动的天数:

    密码需要重新变更的天数:

    密码需要变更期限前的警告天数:

    密码过期后的账号宽限时间(密码失效日):

    账号失效日期:

    保留字段

      如:dmtsai:$1$vyUuj.eX$omt6lKJvMcIZHx4H7RI1V.:14299:5:60:7:5:14419:..

  3、/etc/group 档案结构 (3个分号4个字段) 

    组名组密码GID此组群支持的账号名称

      如:daemon:x:2:root,bin,daemon

          注意:一个组群可以支持多个账号名称

 

三、账号的创建(对用户进行管理)  命令:useradd 

  1、语法格式:

    默认创建用户:useradd  用户名  

    加参数进行创建:useradd [-u UID] [-g 刜始群组] [-G 次要群组] [-mM] [-c 说明栏] [-d 家目录的绝对路径] [-s shell] 使用者账号名

      选项与参数:      

        u :后面接癿是 UID ,是一组数字。直接指定一个特定的 UID 给这个账号;(对应/etc/passwd 的第3字段)

        -g 初始群组;该群组的 GID 会被放置刡 /etc/passwd 的第四个字段内(对应/etc/passwd 的第4字段)

        -G 次要群组;后面接的组名则是这个账号还可以加入的群组(也是对应/etc/passwd 的第4字段)

        -c :这个就是说明信息(可以随便我们设定)(对应/etc/passwd 的第5字段)

        d :指定某个目录为家目录,而不要使用默讣值。务必使用绝对路径!(对应/etc/passwd 的第6字段)

        -M :强制!不要建立用户家目录!(系统账号默认值)(也是对应/etc/passwd 的第6字段)

        -m :强制!要建立用户家目录!(一般账号默认值)(也是对应/etc/passwd 的第6字段)

        -s :后面接一个shell ,若没有挃定则预训是 /bin/bash;(对应/etc/passwd 的第7字段)

        -r :建立一个系统的账号,这个账号的 UID 会有限制 (参考 /etc/login.defs)

        -e :后面接一个日期,格式为『YYYY-MM-DD』此项目可写入 shadow 第八字段,就是账号失效日的设定项目;

        -f :后面接 shadow 的第七字段项,指定密码是否会失效。0为立刻失效,-1为永远不会失效(密码只会过期而强制于登入时重新设定而已。)

 

 

四、对于(上面是创建时直接赋予用户参数,这里是创建好了之后在赋予或者修改参数)已经创建好了的用户,修改用户的属性操作?(修改的一般是/etc/passwd 档案里的内容)   命令:usermod 

    语法:

      usermod  [-cdegGlsuLU ]   用户名

    选项与参数说明: 

    -c :后面接账号的说明,即 /etc/passwd 第五栏的说明栏,可以加入一些账号的说明。

    -d :后面接账号的家目录,即修改 /etc/passwd 的第六栏;

    -e :后面接日期,格式是 YYYY-MM-DD 也就是在 /etc/shadow 内的第八个字段数据(即失效密码的日期)

    -f :后面接天数,为 shadow 的第七字段。

    -g :后面接初始群组,修改 /etc/passwd 的第四个字段,亦即是 GID 的字段!

    -G :后面接次要群组,修改这个使用者能够支持的群组,修改的是/etc/group

    -a :与 -G 合用,可『增加次要群组的支持』而非『设定』

    -l :后面接账号名称。亦即是修改账号名称, /etc/passwd 的第一栏!

    -s :后面接 Shell 的实际档案,例如 /bin/bash 或 /bin/csh 等等。

    -u :后面接 UID 数字啦!即 /etc/passwd 第三栏的资料;

    -L :暂时将用户的密码冻结,让他无法登入。其实仅改 /etc/shadow 的密码栏。

    -U :将 /etc/shadow 密码解冻

 

五、密码操作的一系列语法。   命令:passwd

    注意:修改的一般是/etc/shadow 档案里面的内容  

   命令格式: 

      passwd [-l] [-u] [--sdtin] [-S] [-n 日数] [-x 日数] [-w 日数] [-i 日期] 账号

   选项与参数说明:   

     --stdin:可以透过来自前一个管线的数据,作为密码输入,对shell script有帮助!

    -l :是 Lock(锁定账户)的意思,会将 /etc/shadow 第二栏最前面加上 ! 使密码失效;

    -u :与 -l 相对,是 Unlock(解锁账户)的意思!

    -S :列出密码相关参数,即 shadow 档案内的大部分信息。

    -n :后面接天数,shadow 的第 4 字段,多久不可修改密码天数

    -x :后面接天数,shadow 的第 5 字段,多久内必须要变更密码

    -w :后面接天数,shadow 的第 6 字段,密码过期前的警告天数

    -i :后面接日期,shadow 的第 7 字段,密码失效的日期  

        更多信息请查看 passwd --help   或 man passwd 

 

六、chage 命令的用法(基本上和passwd用法差不多,只是chage 显示的参数更清楚一些)   

  语法格式:

    chage  [ -ldEImMW ] 用户名

  选项与参数说明:

    -l :列出该账号的详细密码参数;

    -d :后面接日期,修改 shadow 第三字段(最近一次更改密码的日期),格式YYYY-MM-DD

    -E :后面接日期,修改 shadow 第八字段(账号失效日),格式 YYYY-MM-DD

    -I :后面接天数,修改 shadow 第七字段(密码失效日期)

    -m :后面接天数,修改 shadow 第四字段(密码最短保留天数)

    -M :后面接天数,修改 shadow 第五字段(密码多丽需要进行变更)

    -W :后面接天数,修改 shadow 第六字段(密码过期前警告日期)

 

七、删除用户。 命令:userdel 

  命令格式:userdel [ -r ]  用户名

      不加参数代表只是删除该用户

      加了参数 [ -r ] 代表-r :连同用户的家目录和所有的配置也一起删除

     

    特别注意事项:其实用户如果在系统上面操作过一阵子了,那该用户其实在系统内可能会含有其他档案的。 举例来说,他的邮件信箱 (mailbox) 或者是例行性工作排程之类的档案。 所以,如果想要完整的将某个账号完整的删除,最好可以在下达 userdel -r username 之前先以命令[ find / -user username ]查出整个系统内属于 username 的档案,然后再加以删除。

 

八、其他命令:(请查看帮助文档)

    finger  命令    

        作用:查看用户的信息(指的是/etc/passwd 档案里面的第5字段的信息)

     chfn  命令

        作用:修改用户的信息(指的是/etc/passwd 档案里面的第5字段的信息)

    chsh  命令   

        作用:查看用户的shell信息和修改用户的shell

        语法:chsh -l  查看用户支持哪些shell

             chsh  用户名  修改该用户的shell  (具体是修改/etc/passwd 档案下的第7字段)

    id    命令

        

 

posted @ 2018-06-21 11:33  Panda.li  阅读(334)  评论(0编辑  收藏  举报