Linux用户在第一次登录时强制更改初始密码

下面介绍如何迫使用户在下一次登录时更改其密码。

Linux下的每个用户帐户都与和密码相关的各个配置和信息关联起来。比如说,它记得上一次密码更改的日期、密码更改间隔的最少/最多天数以及何时让当前密码到期失效,等等。

一种名为chage的命令行工具可以访问和调整与密码到期失效有关的配置。你可以使用该工具,迫使任何用户在下一次登录时更改密码。

想查看某一个用户(比如alice)的密码到期失效信息,运行下面这个命令。请注意:只有在你检查你自己之外的其他任何用户的密码有效期信息时,才需要根用户权限。

$ sudo chage -l alice

迫使用户更改密码

如果你想迫使用户更改其密码,请使用下面这个命令。

$ sudo chage -d0 <user-name>

最初,“-d <N>”选项应该被设成密码的“有效期”(自密码上一次更改时间1970年1月1日以来的天数)。所以,“-d0”表明该密码是在1970年1月1日更改的,这实际上让当前密码到期失效,从而让密码在下一次登录时被更改。

让当前密码到期失效的另一个办法是通过passwd命令。

$ sudo passwd -e <user-name>

上述命令具有与“chage -d0”同样的功效,让用户的当前密码立即到期失效。

现在,再次检查用户的密码信息,你会看到:

当你再次登录时,系统会要求你更改密码。你在更改密码之前需要多次确认当前密码。

想设置更全面的密码政策(比如密码复杂性和防止重复使用),你可以使用PAM(那PAM又是什么呐?在这里先留个大家思考,之后文章会有相关内容的更新)

如何强制Linux用户在第一次登录时更改初始密码相信大家通过这篇文章应该有了深入的了解,希望大家都有所收获吧。

时间: 2015-10-16

Linux中禁止用户修改/重置密码

前言 Linux用户的用户名保存在/etc/passwd文件中,密码保存在/etc/shadow中.要禁止用户修改/重置密码,将这两个文件设置为只读即可. 方法如下 chattr +i /etc/passwd chattr +i /etc/shadow 要允许修改密码,取消文件上的只读标记: chattr -i /etc/passwd chattr -i /etc/shadow 注意 将这两个文件设置为只读后,附加效果是无法新建新用户.例如使用yum安装MySQL,安装程序将无法新建mysql用

Linux 入门常用命令 password — 修改密码,改变用户

passwd命令 出于系统安全考虑,Linux系统中的每一个用户除了有其用户名外,还有其对应的用户口令.因此使用useradd命令增加时,还需使用passwd命令为每一位新增加的用户设置口令:用户以后还可以随时用passwd命令改变自己的口令. 该命令的一般格式为: passwd [用户名] 其中用户名为需要修改口令的用户名.只有超级用户可以使用"passwd 用户名"修改其他用户的口令,普通用户只能用不带参数的passwd命令修改自己的口令. 该命令的使用方法如下: 输入 passw

如何在Linux下修改Mysql的用户(root)密码

下面给大家分享下在Linux下如何修改Mysql的用户(root)的密码,分两种情况:第一种当拥有原来的mysql的root密码,第二种情况忘记原来的mysql的root的密码. 修改的用户都以root为列. 一.拥有原来的mysql的root的密码: 方法一: 在mysql系统外,使用mysqladmin 复制代码 代码如下: # mysqladmin -u root -p password "test123" Enter password: [输入原来的密码] 方法二: 通过登录m

Linux下修改MySQL数据库数据文件路径的步骤

使用rpm安装方式安装完MySQL数据库后,数据文件的默认路径为/var/lib/mysql,然而根目录并不适合用于存储数据文件. 原路径:/var/lib/mysql 目标路径:/home/mysql_data/mysql Linux系统版本:centos7.6 MySQL数据库版本:5.7.25 步骤: 1.创建目标路径 mkdir -p /home/mysql_data 2.关闭MySQL systemctl stop mysqld 3.复制数据文件 cp -arp /var/lib/my

详解Centos7 修改mysql指定用户的密码

本文介绍了Centos7 修改mysql指定用户的密码,具体如下: 1.登陆mysql或者mariadb(两种任选其一) [root@localhost ~]# mysql -u root [root@localhost ~]# mysql -uroot -p 2.切换到存储用户名和密码的数据库 MariaDB [mysql]> use mysql;回车,会显示以下内容 Reading table information for completion of table and column na

Linux下修改MySQL编码的方法

默认登录mysql之后可以通过SHOW VARIABLES语句查看系统变量及其值. mysql> show variables like '%character%'; 说明:以下是在CentOS-6.2下的设置  (不同的版本可能有些差异,比如文件的位置.但设置的内容应该是一样的) 1. 找到mysql的配置文件,拷贝到etc目录下,第一步很重要 把/usr/share/doc/mysql-server-5.1.52/my-large.cnf 复制到 /etc/my.cnf 即用命令:cp /u

linux下安装mysql数据库5.6源码安装,修改登录用户密码

本篇内容主要给大家讲解一下如何在linux下安装MYSQL数据库,并以安装MYSQL5.6版本为例子教给大家进行登录用户名和密码的修改等操作. 源码下载地址http://dev.mysql.com/downloads/mysql/5.6.html#downloads tar.gz地址:https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.37.tar.gz 选择Generic Linux (Architecture Independent

Linux下卸载MySQL数据库

如何在Linux下卸载MySQL数据库呢? 下面总结.整理了一下Linux平台下卸载MySQL的方法. MySQL的安装主要有三种方式:二进制包安装(Using Generic Binaries).RPM包安装.源码安装.对应不同的安装方式,卸载的步骤有些不同.文章中如有不足或不对的地方,敬请指出或补充! RPM包安装方式的MySQL卸载 1.检查是否安装了MySQL组件. [root@DB-Server init.d]# rpm -qa | grep -i mysql MySQL-devel-

Linux下忘记mysql密码该如何修改mysql密码

初始密码为空,使用空密码登陆mysql执行下列语句 mysql>use mysql; mysql> UPDATE user SET password=PASSWORD("root") WHERE user='root'; mysql> FLUSH PRIVILEGES; mysql> quit; 修改/opt/lampp/phpmyadmin/config.inc.php 找到如下代码: $cfg['Servers'][$i]['auth_type'] = 'c

linux下讲解MySQL安装与登录方法

Fedora5下配置MySQL (很有参考价值的 MySQL资料 包括如何在linux文件系统移动MySQL数据库的位置) 一.下载MySQL安装文件 完全安装MySQL需要下面6个文件: MySQL-server-community-5.1.26-0.rhel4.i386.rpm MySQL-client-community-5.1.26-0.rhel4.i386.rpm MySQL-shared-community-5.1.26-0.rhel4.i386.rpm MySQL-devel-co

Linux下安装mysql 5.7.17.tar.gz的教程详解

1.创建MySQL组和mysql用户 groupadd mysql useradd -r -g mysql mysql 2.拷贝: cp -R mysql-5.7.16-linux-glibc2.5-i686 /usr/local/mysql 3.创建data目录 mkdir /usr/local/mysql/data 3.安装数据库 切换到/usr/loca/mysql目录下 cd /usr/local/mysql 修改当前目录的所有者为mysql用户 chown -R mysql:mysql

Linux下安装mysql的教程详解

1. 关闭mysql服务 # service mysqld stop 2. 检查是否有rpm包,如果没有用rpm安装过mysql,不应该有残留,如果有,需要删掉 检查语法: rpm -qa|grep -i mysql 删除语法: rpm -e <包的名字> 如果遇到依赖,无法删除,使用 rpm -e --nodeps <包的名字> 不检查依赖,直接删除rpm包. 3. 通过find命令检查是否有安装mysql文件,有需要删除 检查语法: find / -name mysql 删除语