• Solaris10用户密码四种状态转换


    在Solaris10中用户密码状态主要有四种,分别是PS、NL、LK、NP。
    PS:表示用户密码已设置。
    NL:表示用户帐号是不可登录帐号。
    LK:表示用户已被锁定。
    NP:表示用户没有密码,登录时不需要密码认证。
    使用passwd -s username 命令可以查看用户帐号的密码状态。
    下面看看几种状态的区别:
    1. NL与LK的区别
    LK是表示用户已被锁定。除了无法登录外,被锁定的用户还无法执行cron等后台任务。
    NL表示用户帐号是不可登录的,login, telnet,  ftp, ssh等都不能执行。但可以执行后台任务。适合于不允许登录但允许执行cron job的用户。
    2. NL与NP的区别
    NL是不可登录的账号,但NP是不需要密码就能登录。另外需要说明的是:在建立用户帐号且未设置密码时状态不是NP而是LK。
    相关的操作命令:
    passwd -s username    查看用户账号状态
    passwd -l username    锁定用户账号
    passwd -u username    解锁用户账号
    passwd -N username    将用户账号变为不可登录账号,但不锁定。相当于将状态变为NL
    passwd -d username    删除密码,解锁账号。相当于将状态变为NP

    以下是solaris10四种用户密码状态转换图。

     Solaris密码四种状态转换 PS – > LK :

    用户由PS状态转换为LK状态常见的原因是设置了系统安全策略(如lock_after_retries参数),当条件符合时用户会被系统自动锁定。

    另一种方式就是使用passwd –l username命令设置。

    root@jumpstart:/ #>passwd -s jyu
    jyu       PS
    root@jumpstart:/ #>
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu:02ys0CwD8q0Pk:15383::::::
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    用户初始状态是PS, 设置了用户密码。

    root@jumpstart:/ #>passwd -l jyu
    passwd: password information changed for jyu

    root@jumpstart:/ #>passwd -s jyu
    jyu       LK

    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu:*LK*02ys0CwD8q0Pk:15383::::::
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    使用命令锁定用户后,用户状态变为LK. 并且/etc/shadow中也增加了LK标志.

    LK – > PS :

    LK状态一般可分为两种情况,一是锁定的用户原来设过密码,二是锁定的用户无密码。这两种情况可以从/etc/passwd文件分辨出来。方法是看/etc/shadow中是否有加密密码部分,如果有则说明用户原来设过密码,如果没有则说明用户原来未设置过密码。例如:

    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu:*LK*02ys0CwD8q0Pk:15383::::::

    用户原来设过密码。其中LK表示用户是“锁定”状态,02ys0CwD8q0Pk是加过密的用户密码

    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu:*LK*:15383::::::

    用户原来没设过密码。其中LK表示用户是“锁定”状态,没有加密密码说明用户没设密码。(新建用户未设置密码时就是这种状态)

    将用户状态由LK转换为PS一般有两种方法:一是使用passwd -u命令为用户解锁,二是为用户新设密码。方法二与solaris的版本有关。根据我的测试,在Solaris10u9上可以使用方法二,而Solaris10u10上方法二无效。

    对于用户原来有密码的情况,建议使用passwd -u命令为用户解锁,解锁后用户密码不改变,用户原密码仍可用。当然也可以为用户重设密码,若新设密码与原密码不一致,设置后还需要通知用户新密码,否则使用原密码无法登录。

    对于用户原来没有密码的情况,建议为用户重设密码。如果使用passwd -u为用户解锁,则用户状态会变成NP,即不用密码就可以登录,当用户登录时,系统会提示设置新密码。

    root@jumpstart:/ #>passwd -s jyu
    jyu       LK

    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu:*LK*02ys0CwD8q0Pk:15383::::::
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    用户初始状态为LK,且设置过密码

    root@jumpstart:/ #>passwd -u jyu
    passwd: password information changed for jyu
    root@jumpstart:/ #>passwd -s jyu
    jyu       PS
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu:02ys0CwD8q0Pk:15383::::::
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    使用passwd –u解锁后状态变成PS,用户密码未改变。

    PS –> NP:

    使用passwd -d命令可以将用户状态由PS转换为NP.

    root@jumpstart:/ #>passwd -s jyu
    jyu       PS
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu:TIcJl0DQ58els:15383::::::
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    用户初始状态为PS

    root@jumpstart:/ #>passwd -d jyu
    passwd: password information changed for jyu
    root@jumpstart:/ #>passwd -s jyu
    jyu       NP
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu::15383::::::
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    使用passwd -d命令使用用户状态由PS转换为NP. 注意此时/etc/shadow中没有加密密码部分,也说明用户没有密码. 此晨用户登录不需要密码验证。

    NP –> PS:

    为用户设置密码后,状态即由NP转换为PS.

    root@jumpstart:/ #>passwd -s jyu
    jyu       NP
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu::15383::::::
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    初始状态为NP.

    root@jumpstart:/ #>passwd jyu
    New Password:
    Re-enter new Password:
    passwd: password successfully changed for jyu
    root@jumpstart:/ #>
    root@jumpstart:/ #>passwd -s jyu
    jyu       PS
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu:uHwarumWL5eDA:15383::::::
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    设置用户密码后,状态由NP转换为PS.

    NP –> LK:

    使用passwd -l命令可将用户状态由NP转换为LK.

    root@jumpstart:/ #>passwd -s jyu
    jyu       NP
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu::15383::::::
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    用户初始状态为NP.

    root@jumpstart:/ #>passwd -l jyu
    passwd: password information changed for jyu

    root@jumpstart:/ #>passwd -s jyu
    jyu       LK

    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu:*LK*:15383::::::
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    使用passwd -l命令将用户由NP状态变为LK状态。注意此时/etc/shadow中没有加密密码部分,说明用户没有密码。创建用户未设置密码之前,用户就是这种lock且无密码状态。

    LK –> NP:

    LK分为lock无密码状态和lock有密码状态。两种状态下都可以使用passwd -d命令将用户状态由LK变为NP. 另外在lock无密码状态,还可以使用passwd -u命令将用户状态由LK变成NP.

    lock无密码状态:(使用passwd -d命令)

    root@jumpstart:/ #>passwd -s jyu
    jyu       LK
    root@jumpstart:/ #>
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu:*LK*:15383::::::
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    初始为LK无密码状态.
    root@jumpstart:/ #>passwd -d jyu
    passwd: password information changed for jyu
    root@jumpstart:/ #>passwd -s jyu
    jyu       NP
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu::15383::::::
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    passwd -d命令将用户由LK状态变为NP状态。

    lock无密码状态:(使用passwd -u命令)

    root@jumpstart:/ #>passwd -s jyu
    jyu      LK
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu:*LK*:15383::::::
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    初始状态为LK无密码.
    root@jumpstart:/ #>passwd -u jyu
    passwd: password information changed for jyu
    root@jumpstart:/ #>passwd -s jyu
    jyu      NP
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu::15383::::::
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    使用passwd -u命令将用户由LK无密码变为NP状态.

    lock有密码状态:

    root@jumpstart:/ #>passwd -s jyu
    jyu       LK
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu:*LK*fk5mPrjIYPsxc:15383::::::
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    初始状态为LK有密码.

    root@jumpstart:/ #>passwd -d jyu
    passwd: password information changed for jyu
    root@jumpstart:/ #>passwd -s jyu
    jyu       NP
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu::15383::::::
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    passwd -d命令将用户由LK状态变为NP状态。

    NP –> NL:

    passwd -N命令可以将用户由NP状态变为NL状态。

    root@jumpstart:/ #>passwd -s jyu
    jyu       NP
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu::15383::::::
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    初始状态为NP.

    root@jumpstart:/ #>passwd -N jyu
    passwd: password information changed for jyu
    root@jumpstart:/ #>passwd -s jyu
    jyu       NL
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu:NP:15383::::::
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    使用passwd -N将用户状态变为NL. 注意此时/etc/shadow中密码处显示为NP. 此NP与passwd -s显示的NP意义应该是不同的。我理解/etc/shadow中的NP等同于NL,可以理解为No Permission. 用户是否有密码应该是通过/etc/shadow中有无加密密码串来判断,而不是通过“NP”标志。

    NL –> NP:

    passwd -d命令可以将用户由NL状态变为NP状态。

    root@jumpstart:/ #>passwd -s jyu
    jyu       NL
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu:NP:15383::::::
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    初始为NL状态.

    root@jumpstart:/ #>passwd -d jyu
    passwd: password information changed for jyu
    root@jumpstart:/ #>passwd -s jyu
    jyu       NP
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu::15383::::::
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    passwd -d命令可以将用户变为NP状态.

    LK –> NL:

    无论用户状态是lock无密码或lock有密码,passwd –N 都可以将用户由LK状态变为NL状态。

    lock无密码情况:

    root@jumpstart:/ #>passwd -s jyu
    jyu       LK
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu:*LK*:15383::::::
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    用户初始状态为lock无密码.
    root@jumpstart:/ #>passwd -N jyu
    passwd: password information changed for jyu
    root@jumpstart:/ #>passwd -s jyu
    jyu       NL
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu:NP:15383::::::
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    passwd -N命令将用户变为NL状态.

    lock有密码情况:

    root@jumpstart:/ #>passwd -s jyu
    jyu       LK
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu:*LK*FSzVP0tNiiXJI:15383::::::
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    初始状态为lock有密码状态.
    root@jumpstart:/ #>passwd -N jyu
    passwd: password information changed for jyu
    root@jumpstart:/ #>passwd -s jyu
    jyu       NL
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu:NP:15383::::::
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    passwd -N命令将用户状态由lock有密码变为NL状态.

    NL –> LK:

    目前还没有找到由NL状态直接转换成LK的命令或方法。可以通过PS或NP作为中间状态,间接进行转换。

    PS –> NL:

    使用passwd -N命令可以将用户由PS状态变为NL状态。

    root@jumpstart:/ #>passwd -s jyu
    jyu       PS
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu:qTpgBTG2yIQ8w:15383::::::
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    初始状态为PS状态.
    root@jumpstart:/ #>passwd -N jyu
    passwd: password information changed for jyu
    root@jumpstart:/ #>passwd -s jyu
    jyu       NL
    root@jumpstart:/ #>grep jyu /etc/passwd
    jyu:x:100:1::/export/home/jyu:/bin/bash
    root@jumpstart:/ #>grep jyu /etc/shadow
    jyu:NP:15383::::::
    root@jumpstart:/ #>grep jyu /etc/user_attr
    jyu::::type=normal;profiles=Printer Management

    使用passwd -N命令可以将用户变为NL状态.

    NL –> PS:

    此转换也与Solaris版本有关,在Solaris10U10上没有找到直接转换的办法,只能通过NP作为中间状态进行间接转换。而在Solaris10U9上可以通过passwd username重设密码的方式直接转换。

    备注:根据Solaris10版本的不同,以上有些状态变化可能有所不同。上述示例都是在Solaris10U10上的测试结果。

  • 相关阅读:
    【spring】基于AspectJ的AOP
    【matlab】stanford线性回归,logistic regression 实验
    【Python】列表、字典和元组的排序
    PHP 二叉树的深度优先与广度优先遍历
    PHP 定义栈结构,实现min函数,获取栈最小元素,要求时间复杂度为O(1)
    PHP 短连接生成
    一条SQL查询访问记录表(visit_log)中某个类目(catalog_id)的访问量(visit)排前两名的记录行
    利用 p, 1p 随机数发生器知道等概率发生器
    PHP 将二叉查找树转换为双向链表,要求不能创建新节点,只能调节节点指针
    PHP 求最大递增子序列长度
  • 原文地址:https://www.cnblogs.com/cqubityj/p/2349518.html
Copyright © 2020-2023  润新知