设为首页 加入收藏

TOP

Linux学习-账号管理(三)
2017-10-16 18:20:43 】 浏览:2265
Tags:Linux 学习 账号 管理
至少会参考:

  • /etc/default/useradd
  • /etc/login.defs
  • /etc/skel/*

  • passwd

设定密码就使用 passwd

[root@study ~]# passwd [--stdin] [账号名称] <==所有人均可使用来改自己的密码
[root@study ~]# passwd [-l] [-u] [--stdin] [-S] \
> [-n 日数] [-x 日数] [-w 日数] [-i 日期] 账号 <==root 功能
选项与参数:
--stdin :可以透过来自前一个管线的数据,作为密码输入,对 shell script 有帮助! -l :是 Lock 的意思,会将 /etc/shadow 第二栏最前面加上 ! 使密码失效;
-u :与 -l 相对,是 Unlock 的意思!
-S :列出密码相关参数,亦即 shadow 文件内的大部分信息。 
-n :后面接天数,shadow 的第 4 字段,多久不可修改密码天数 
-x :后面接天数,shadow 的第 5 字段,多久内必须要更动密码 
-w :后面接天数,shadow 的第 6 字段,密码过期前的警告天数 
-i :后面接『日期』,shadow 的第 7 字段,密码失效日期

范例一:请 root 给予 vbird2 密码
[root@study ~]# passwd vbird2
Changing password for user vbird2.
New UNIX password: <==这里直接输入新的密码,屏幕不会有任何反应
BAD PASSWORD: The password is shorter than 8 characters <==密码太简单或过短的错误!
Retype new UNIX password: <==再输入一次同样的密码
passwd: all authentication tokens updated successfully. <==竟然还是成功修改了!

这个是 root 帮忙设定的结果,那如果是用户自己要改密码呢? 包括 root 也是这样修改的喔!

范例二:用 vbird2 登入后,修改 vbird2 自己的密码
[vbird2@study ~]$ passwd <==后面没有加账号,就是改自己的密码!
Changing password for user vbird2.
Changing password for vbird2
(current) UNIX password: <==这里输入『原有的旧密码』
New UNIX password: <==这里输入新密码
BAD PASSWORD: The password is shorter than 8 characters <==密码太短!不可以设定!重新想 
New password: <==这里输入新想的密码
BAD PASSWORD: The password fails the dictionary check - it is based on a dictionary word 
# 同样的,密码设定在字典里面找的到该字符串,所以也是不建议!无法通过,再想新的!
New UNIX password: <==这里再想个新的密码来输入吧
Retype new UNIX password: <==通过密码验证!所以重复这个密码的输入
passwd: all authentication tokens updated successfully. <==有无成功看关键词

要帮一般账号建立密码需要使用『 passwd 账号 』的格式,使 用『 passwd 』表示修改自己的密码!

你想要帮 vbird2 变更密码成为 abc543CC ,可以这样下达指令

范例三:使用 standard input 建立用户的密码
[root@study ~]# echo "abc543CC" | passwd --stdin vbird2
Changing password for user vbird2.
passwd: all authentication tokens updated successfully.

这个动作通常仅 用在 shell script 的大量建立使用者账号当中!要注意的是,这个选项并不存在所有 distributions 版本中。


  • chage

除了使用 passwd -S 之外,有没有更详细的密码参数显示功能呢?有的!那就是 chage 了!他的用 法如下:

[root@study ~]# chage [-ldEImMW] 账号名
选项与参数:
-l :列出该账号的详细密码参数;
-d :后面接日期,修改 shadow 第三字段(最近一次更改密码的日期),格式 YYYY-MM-DD 
-E :后面接日期,修改 shadow 第八字段(账号失效日),格式 YYYY-MM-DD
-I :后面接天数,修改 shadow 第七字段(密码失效日期)
-m :后面接天数,修改 shadow 第四字段(密码最短保留天数)
-M :后面接天数,修改 shadow 第五字段(密码多久需要进行变更) 
-W :后面接天数,修改 shadow 第六字段(密码过期前警告日期)

范例一:列出 vbird2 的详细密码参数
[root@study ~]# chage -l vbird2
Last password change    : Jul 20, 2015
Password expires           : Sep 18, 2015
Password inactive          : Sep 28, 2015
Account expires             : never
Minimum number of days between password change    : 0
Maximum number of days between password change   : 60
Number of days of warning before password expires    : 7

chage 有一个功能很不错喔!如果你想要让『使用者在第一次登入时, 强制她们一定要更改密码后 才能够使用系统资源』,可以利用如下的方法来处理的!

范例二:建立一个名为 agetest 的账号,该账号第一次登入后使用默认密码,但必须要更改过密码后,使用新密码才能够登入系统使用 bash 环境
[root@study ~]# useradd agetest
[root@study ~]# echo "agetest" | passwd --stdin agetest
[root@study ~]# chage -d 0 agetest
[root@study ~]# chage -l agetest | head -n 3
Last password change        : password must be changed  
Password expires               : password must be changed 
Password inactive              : password must be changed 
# 此时此账号的密码建立时间会被改为 1970/1/1 ,所以会有问题!

范例三:尝试以 agetest 登入的情况
You are required to change your password immediately (root enforced)
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for user agetest.
Changing password for agetes
首页 上一页 1 2 3 4 5 6 下一页 尾页 3/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Linux命令学习:tar 下一篇centos 7.0 搭建LAMP环境

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目