在linux系统中,默认创建的用户的有效期限都是永久的,但有时候,我们需要对某些用户的有效期限做个限定!
比如:公司给客户开的ftp账号,用于客户下载新闻稿件的。这个账号是有时间限制的,因为是付费的。合同到期了,这个账号就要求停用。

废话不多说,直接说下操作记录:

需求:
创建lzwb账号,用于下载/home/hqsb里面的新闻稿件,这个账号的合同到期时间是2018年10月26号

1)创建账号lzwb
[root@dev ~]# useradd lzwb -d /home/hqsb -s /sbin/nologin

2)默认情况下,这个账号建立后,有效期限是永久的。注意下面命令结果:
Last password change: 表示账号创建时的时间
Account expires: 表示账号到期时间
命令格式:chage -l username 查看用户的到期时间情况
[root@dev ~]# chage -l lzwb
Last password change : Oct 26, 2016
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7

3)按照需求,修改账号的到期时间
命令格式:usermod -e "到期时间" username 修改系统用户的时间
[root@dev ~]# usermod -e "Oct 26,2018" lzwb

再次查看,发现lzwb的有效时间截止到2018年的10月26号了。
[root@dev ~]# chage -l lzwb
Last password change : Oct 26, 2016
Password expires : never
Password inactive : never
Account expires : Oct 26, 2018
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7

======================Linux 下修改用户名(同时修改用户组名和家目录)=====================

1) 修改用户名
# usermod -l new_username old_username 比如将kevin用户名修改为shibo
[root@localhost ~]# useradd kevin
[root@localhost ~]# cat /etc/passwd|grep kevin
kevin:x:501:502::/home/kevin:/bin/bash [root@localhost ~]# usermod -l shibo kevin 查看修改后的用户名
[root@localhost ~]# cat /etc/passwd|grep shibo
shibo:x:501:502::/home/kevin:/bin/bash
[root@localhost ~]# cat /etc/passwd|grep kevin
shibo:x:501:502::/home/kevin:/bin/bash
[root@localhost ~]# su - kevin
su: user kevin does not exist
[root@localhost ~]# su - shibo
[shibo@localhost ~]$ 发现上面修改, 只会更改用户名,而其他的东西,比如用户组,家目录,UID 等都保持不变。 特别注意:
如果修改的用户名在登录状态中, 需要从要改名的帐号中登出并杀掉该用户的所有进程,要杀掉该用户的所有进程可以执行下面命令:
[root@localhost ~]# pkill -u kevin
[root@localhost ~]# pkill -9 -u kevin 2) 修改用户家目录
同时更改家目录,我们需要在执行 usermod 命令的同时加上 -d 选项 如上将kevin用户修改为shibo后, shibo用户的家目录还是之前的/home/kevin,
现在要将shibo用户的家目录由/home/kevin 改为 /data/shibo
[root@localhost ~]# cat /etc/passwd|grep shibo
shibo:x:501:502::/home/kevin:/bin/bash [root@localhost ~]# ls /data/shibo
ls: cannot access /data/shibo: No such file or directory [root@localhost ~]# usermod -d /data/shibo shibo [root@localhost ~]# cat /etc/passwd|grep shibo
shibo:x:501:502::/data/shibo:/bin/bash 3) 更改用户 UID
如上将kevin用户修改为shibo后, shibo用户的uid和gid都没有改变
现在想要将shibo用户的UID改为 1000
[root@localhost ~]# cat /etc/passwd|grep shibo
shibo:x:501:502::/data/shibo:/bin/bash [root@localhost ~]# usermod -u 1000 shibo [root@localhost ~]# cat /etc/passwd|grep shibo
shibo:x:1000:502::/data/shibo:/bin/bash 4) 修改用户组名
现在要把shibo用户的用户组由kevin改为shibo, 这就要用到groupadd命令
[root@localhost ~]# cat /etc/group|grep kevin
kevin:x:502:
[root@localhost ~]# cat /etc/group|grep shibo
[root@localhost ~]#
[root@localhost ~]# cat /etc/passwd|grep shibo
shibo:x:1000:502::/data/shibo:/bin/bash [root@localhost ~]# groupmod -n shibo kevin [root@localhost ~]# cat /etc/group|grep shibo
shibo:x:502:
[root@localhost ~]# cat /etc/group|grep kevin
[root@localhost ~]#
[root@localhost ~]# cat /etc/passwd|grep shibo
shibo:x:1000:502::/data/shibo:/bin/bash 这时候shibo用户的群组已经是shibo了, 现在要把shibo用户的gid由502 改为 2000
[root@localhost ~]# cat /etc/group|grep shibo
shibo:x:502:
[root@localhost ~]# cat /etc/passwd|grep shibo
shibo:x:1000:502::/data/shibo:/bin/bash [root@localhost ~]# groupmod -g 2000 shibo [root@localhost ~]# cat /etc/group|grep shibo
shibo:x:2000:
[root@localhost ~]# cat /etc/passwd|grep shibo
shibo:x:1000:2000::/data/shibo:/bin/bash [root@localhost ~]# id shibo
uid=1000(shibo) gid=2000(shibo) groups=2000(shibo)

LInux下设置账号有效时间 以及 修改用户名(同时修改用户组名和家目录)的更多相关文章

  1. Linux 下如何修改用户名(同时修改用户组名和家目录)

    有时候,由于某些原因,我们可能会需要重命名用户名.我们可以很容易地修改用户名以及对应的家目录和 UID.-- Shusain 本文导航◈ 修改用户名12%◈ 修改家目录43%◈ 更改用户 UID52% ...

  2. Linux下锁定账号,禁止登录系统的设置总结【转】

    在我们运维工作中,会经常要求一些用户不允许登陆系统,以加固系统安全.今天这里介绍下锁定账号登陆的几种方法: (推荐使用)这种方式会更加人性化一点,因为不仅可以禁止用户登录,还可以在禁用登陆时给提示告诉 ...

  3. Linux下设置网卡静态ip

    Linux下设置网卡静态ip 如果是服务器版,没有图形界面只用用命令行修改配置文件 如果是客户端版本,可以用图形界面 配置的前提是要在root用户下才能重启网卡服务 图形界面: system-conf ...

  4. Ubuntu Linux下设置IP的配置命令

    Ubuntu Linux下设置IP的配置命令 今天装了Ubuntu,但是发现不能上网,开始排查问题: 1.首先确定网络连接是否正确,所用的网线是否可以正常工作 2.查看网卡是否能正常工作,检测的方法如 ...

  5. linux下设置计划任务执行python脚本

    linux下设置计划任务执行python脚本 简介 crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自 ...

  6. CentOS/Linux下设置IP地址

    CentOS/Linux下设置IP地址 1:临时修改:1.1:修改IP地址# ifconfig eth0 192.168.100.100 1.2:修改网关地址# route add default g ...

  7. (转)Linux下设置和查看环境变量

    原文地址:<Linux下设置和查看环境变量> Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1. 永久的:需要修改配置文件,变量永久生效. 2. 临时的:使用e ...

  8. ElasticSearch(十四):Linux下设置ElasticSearch 开机自启

    一.创建脚本文件 在  /etc/init.d  目录下,创建脚本文件 elasticsearch # cd /etc/init.d/ # vim elasticsearch 将以下内容写入文件中(其 ...

  9. Linux下设置时间

    Linux下设置时间 提供两种最根本有效的方式,就是更改时区.这里以更改为国内上海时间例子,其他地方时区同理. 方法一 备份文件 mv /etc/localtime /etc/localtime.ba ...

随机推荐

  1. Solr全文检索

    1.Solr的安装 .环境要求 jdk1.+tomcat8+solr5.5.0 .将以上的软件包上传到服务器 . 安装tomcat8(解压文件) tar -zxvf apache-tomcat-.ta ...

  2. 4.9Python数据类型(5)列表(新版)

    前言 列表是一种python类似数组的数据结构,操作灵活,可存储多种类型的数据. 目录 1.列表的基础知识 2.列表的增删改查并操作 3.列表的其他操作 4.基本方法表 (一)列表的基础知识 1.说明 ...

  3. Hbase-2.0.0_02_常用操作

    主要是常用的hbase shell命令,包括表的创建与删除,表数据的增删查[hbase没有修改]:以及hbase的导出与导入. 参考教程:HBase教程 参考博客:hbase shell基础和常用命令 ...

  4. hadoop系列 第三坑: Task process exit with nonzero status of 137

    跑MR的时候抛出异常: java.lang.Throwable: Child Error at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.j ...

  5. vue实例详解

    Vue实例的构造函数 每个 Vue.js 应用都是通过构造函数 Vue 创建一个 Vue 的根实例 启动的 虽然没有完全遵循 MVVM 模式, Vue 的设计无疑受到了它的启发.因此在文档中经常会使用 ...

  6. 迷宫问题 dfs bfs 搜索

    定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, ...

  7. 让你提前认识软件开发(31):数据库脚本中的begin与end

    版权声明:本文为博主原创文章.对文章内容有不论什么意见或建议,欢迎与作者单独交流.作者QQ(微信):245924426. https://blog.csdn.net/zhouzxi/article/d ...

  8. trace文件解读

    *********************************************************************示例:全表扫描的10046文件解读************** ...

  9. margin auto 实现居中,与text-align:center的区别

    本文导读:一个元素在水平方向上所占的长度,由width ,padding ,和margin 决定.这些值中,只有width和margin-left,margin-right可以设为auto,text- ...

  10. nodejs中引用其他js文件中的函数

    基本语句 require('js文件路径'); 使用方法 举个例子,在同一个目录下,有app.fun1.fun2三个js文件. 1. app.js var fun1 = require('./fun1 ...