1. 参考资料:usermod manpage

usermod - 修改用户帐户信息 modify a user account

usermod [options] user_name
usermod 命令修改系统帐户文件来反映通过命令行指定的变化
选项(options)
  1. -a|--append  ##把用户追加到某些组中,仅与-G选项一起使用
  2. -c|--comment ##修改/etc/passwd文件第五段comment
  3. -d|--home    ##修改用户的家目录通常和-m选项一起使用
  4. -e|--expiredate  ##指定用户帐号禁用的日期,格式YY-MM-DD
  5. -f|--inactive    ##用户密码过期多少天后采用就禁用该帐号,0表示密码已过期就禁用帐号,-1表示禁用此功能,默认值是-1
  6. -g|--gid     ##修改用户的gid,改组一定存在
  7. -G|--groups  ##把用户追加到某些组中,仅与-a选项一起使用
  8. -l|--login   ##修改用户的登录名称
  9. -L|--lock    ##锁定用户的密码
  10. -m|--move-home   ##修改用户的家目录通常和-d选项一起使用
  11. -s|--shell   ##修改用户的shell
  12. -u|--uid     ##修改用户的uid,该uid必须唯一
  13. -U|--unlock  ##解锁用户的密码
 
示例(Examples):
1,新建用户test,密码test,另外添加usertest组
  1. #useradd test
  2. #echo "test" | passwd --stdin test
  3. #groupadd usertest
2,把test用户加入usertest组
  1. #usermod -aG usertest test ##多个组之间用空格隔开
  2. #id test
  3. uid=500(test) gid=500(test) groups=500(test),501(usertest)
3,修改test用户的家目录
  1. #usermod -md /home/usertest
  2. #ls /home
  3. usertest
4,修改用户名
  1. #usermod -l urchin(新用户名称)  test(原来用户名称)
  2. #id urchin
  3. uid=500(urchin) gid=500(test) groups=500(test),501(usertest)
5,锁定urchin的密码
  1. # sed -n '$p' /etc/shadow
  2. urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \
  3. Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7:::
  4. #usermod -L urchin
  5. # sed -n '$p' /etc/shadow
  6. urchin:!$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \
  7. Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7:::
6,解锁urchin的密码
  1. #usermod -U urchin
  2. # sed -n '$p' /etc/shadow
  3. urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \
  4. Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7:::
7,修改用户的shell
  1. #sed '$!d' /etc/passwd
  2. urchin:x:500:500::/home/usertest:/bin/bash
  3. #usermod -s /bin/sh urchin
  4. #sed -n '$p' /etc/passwd
  5. urchin:x:500:500::/home/usertest:/bin/sh
8,修改用户的UID
  1. #usermod -u 578 urchin (UID必须唯一)
  2. #id urchin
  3. uid=578(urchin) gid=500(test) groups=500(test),501(usertest)
9,修改用户的GID
  1. #groupadd -g 578 test1
  2. #usermod -g 578 urchin (578组一定要存在)
  3. #id urchin
  4. uid=578(urchin) gid=578(test1) groups=578(test1),501(usertest)
10,指定帐号过期日期
  1. # sed -n '$p' /etc/shadow
  2. urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \
  3. Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7:::
  4. # usermod -e 2012-09-11 urchin
  5. # sed -n '$p' /etc/shadow
  6. urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \
  7. Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7::15594:
11,指定用户帐号密码过期多少天后,禁用该帐号
  1. # usermod -f 0 urchin
  2. # sed -n '$p' /etc/shadow
  3. urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \
  4. Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7:0:15594:
注意(caution):
usermod不允许你改变正在线上的使用者帐号名称。当usermod用来改变userID,必须确认这名user没在电脑上执行任何程序
 
/etc/passwd
user_name:x:uid:gid:commnet:home:shell
/etc/shadow
username:passwd:lastchg:min:max:warn:inactive:expire:flag
--用户名
--密码
--从1970年1月1日起到上次修改密码所经过的天数
--密码再过几天可以被变更(0表示随时可以改变)
--密码再过几天必须被变更(99999表示永不过期)
--密码过期前几天提醒用户(默认为一周)
--密码过期几天后帐号被禁用
--从1970年1月1日算起,多少天后账号失效
 
 
本文出自 “Obscur” 博客,请务必保留此出处http://urchin.blog.51cto.com/4356076/987186

Usermod 命令详解的更多相关文章

  1. Usermod 命令详解 ------工作中修改shell时用 usermod -s /bin/csh home

     Usermod 命令详解 2012-09-11 11:01:36 标签:usermod 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.htt ...

  2. usermod命令详解

    转载自:http://blog.51cto.com/urchin/987186 usermod - 修改用户帐户信息 modify a user account usermod [options] u ...

  3. (转)linux命令详解之useradd命令使用方法

    linux命令详解之useradd命令使用方法 原文:http://blog.csdn.net/u011537073/article/details/51987121 Linux 系统是一个多用户多任 ...

  4. linux命令详解-useradd,groupadd

    linux命令详解-useradd,groupadd 我们在linux命令行中输入useradd: Options:  -b, --base-dir BASE_DIR       base direc ...

  5. Git初探--笔记整理和Git命令详解

    几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...

  6. linux yum命令详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

  7. Linux下ps命令详解 Linux下ps命令的详细使用方法

    http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...

  8. Docker命令详解

    Docker命令详解   最近学习Docker,将docker所有命令实验了一番,特整理如下: # docker --help Usage: docker [OPTIONS] COMMAND [arg ...

  9. linux awk命令详解

    linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

随机推荐

  1. spring+hibernate管理多个数据源(非分布式事务)

    本文通过一个demo,介绍如何使用spring+hibernate管理多个数据源,注意,本文的事务管理并非之前博文介绍的分布式事务. 这个demo将使用两个事务管理器分别管理两个数据源.对于每一个独立 ...

  2. C#的提交表单方式WebClient

    向网站提交页面的主要代码 string postString = "arg1=a&arg2=b";//这里即为传递的参数,可以用工具抓包分析,也可以自己分析,主要是form ...

  3. 分析Android程序之破解第一个程序

    破解Android程序通常的方法是将apk文件利用ApkTool反编译,生成Smali格式的反汇编代码,然后阅读Smali文件的代码来理解程序的运行机制,找到程序的突破口进行修改,最后使用ApkToo ...

  4. Android 扫描蓝牙设备

    Android扫描蓝牙设备是个异步的过程,核心的步骤为:调用bluetoothAdapter的startDiscovery()进行设备扫描,扫描的结果通过广播接收处理!具体如下: 1.申请相关权限 & ...

  5. dreamweaver中用正则表达式查找替换批量删除 tppabs标签的方法

    查找替换 正则表达式  \btppabs="h[^"]*" 后面不能有空格 你懂得的 选中右下角的 √[使用正则表达式] 替换全部

  6. Agile.Net 组件式开发平台 - 权限管理组件

    RBAC原则       (1)最小权限原则之所以被RBAC所支持,是因为RBAC可以将其角色配置成其完成任务所需要的最小的权限集.       (2)责任分离原则可以通过调用相互独立互斥的角色来共同 ...

  7. 第三十六篇、webService

    在很多的情况下,我们会常常遇到webservive写的接口,往往这种情况下,我们就需要拼接一段报文去与服务器对接 首先要明白webService的工作原理,,,(http://www.cnblogs. ...

  8. Quartz2D 图像处理

    首先感谢一片枫叶总结出这么好的文章,文章出处:http://www.cnblogs.com/smileEvday/archive/2013/05/25/IOSImageEdit.html 本文将为大家 ...

  9. 动态图片加到UIImageView中

    //1.添加一个.gif类型的动态的图片,用到URLForResource方法,gif是图片的格式,FlagZombie是图片的名字 @implementation ViewController- ( ...

  10. 【译】 Node.js v0.12的新特性 -- 性能优化

    原文: https://strongloop.com/strongblog/performance-node-js-v-0-12-whats-new/ January 21, 2014/in Comm ...