Usermod 命令详解

2012-09-11 11:01:36

标签:usermod
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://urchin.blog.51cto.com/4356076/987186
  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 命令详解 ------工作中修改shell时用 usermod -s /bin/csh home的更多相关文章

  1. Usermod 命令详解

    参考资料:usermod manpage usermod - 修改用户帐户信息 modify a user account usermod [options] user_name usermod 命令 ...

  2. usermod命令详解

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

  3. 第06课:GDB 常用命令详解(中)

    本课的核心内容: info 和 thread 命令 next.step.util.finish.return 和 jump 命令 info 和 thread 命令 在前面使用 info break 命 ...

  4. 第05课:GDB常用命令详解(中)

    本科核心内容: info和thread命令 next.step.util.finish和return命令 5.1info和thread命令 在前面使用info break命令查看当前断点时介绍过,in ...

  5. Linux 命令详解(十一)Shell 解析 json命令jq详解

    前言 在自动化部署中涉及到shell脚本需要动态读取很多配置文件,最好是json格式. 更多jq信息: http://stedolan.github.io/jq/manual/ 一.根据key获取va ...

  6. 【转】命令行浏览器 curl 命令详解,Linux中访问url地址

    CURL --- 命令行浏览器 这东西现在已经是苹果机上内置的命令行工具之一了,可见其魅力之一斑 1)二话不说,先从这里开始吧! curl http://www.yahoo.com 回车之后,www. ...

  7. javap反编译命令详解&Eclipse中配置javap命令

    javap命令所有参数如下图所示: javap 命令用于解析类文件.其输出取决于所用的选项.若没有使用选项,javap 将输出传递给它的类的 public 域及方法.javap 将其输出到标准输出设备 ...

  8. Linux 命令详解(十)Shell脚本的数组详解

    1.数组定义 [root@bastion-IDC ~]# a=( ) [root@bastion-IDC ~]# echo $a 一对括号表示是数组,数组元素用“空格”符号分割开. 2.数组读取与赋值 ...

  9. Linux中grep和egrep命令详解

    rep / egrep 语法: grep  [-cinvABC]  'word'  filename -c :打印符合要求的行数-i :忽略大小写-n :在输出符合要求的行的同时连同行号一起输出-v ...

随机推荐

  1. Linux(9.14-9.20)学习笔记

    实验一 Linux系统简介 一.Linux 为何物 Linux 就是一个操作系统,Linux 也就是系统调用和内核那两层. 二.Linux 历史简介 操作系统始于二十世纪 50 年代,当时的操作系统能 ...

  2. iOS:实现图片的无限轮播之使用第三方库SDCycleScrollView

    下载链接:github不断更新地址:https://github.com/gsdios/SDCycleScrollView #import "ViewController.h" # ...

  3. Git.Framework 框架随手记--SQL配置文件的使用

    前面几篇文章讲到了如何使用框架进行简单结构的增删改查操作,由于个人能力有限在对于复杂的SQL操作面前也是无能为力,只能自己动手来写SQL语句.在Git.Framework中提供了一个公共的接口来直接操 ...

  4. vitualbox 主机与虚拟机能相互访问的设置

    1. 桥接网卡 2. 界面名称:802.11n USB Wireless Lan Card 3. 混杂模式:全部允许 4. 接入网线打勾 5. 确定

  5. Javascript基础系列之(三)数据类型 (字符串 String)

    javascript一共有9种数据类型 字符串 String 数值型 Number 布尔型 Boolean 未定义 Undefine 空值 Null 对象 Object 引用Refernce 列表型 ...

  6. AngularJS——karma的安装

    1,前言: 刚刚学过了 grunt的安装以及使用,grunt的作用就是让我们平常不想做的任务能够自动化完成,并且可以自己 自定义任务,那么karma是什么呢? Karma是Testcular的新名字, ...

  7. [设计模式]第四回:建造者模式(Builder Pattern)

    1.概述 将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示,这就是建造者模式. 简单的说就是生产一个产品的步骤比较稳定,单个步骤变化会产生一个不同的产品. 2.实践 物理模型 建造 ...

  8. Linux下svn命令详解

    本文主要是说明linux下svn命令的使用方法,同时记录自己在使用中遇到的一些疑惑. 1.Linux命令行下将文件checkout到本地目录 svn checkout url(url是服务器上的目录) ...

  9. 四则运算 Day1

    需求分析 1.N(Need,需求) 该软件用户只有一类角色:小学生 要求能根据用户选择的算法(+-/),产生随机数(在0--10之间的整数)进行该算法的计算,程序能接收用户输入的答案,如果用户输入的为 ...

  10. Bata版本冲刺计划及安排

    下一阶段需要改进完善的功能 UI: 1. 界面不够精细,布局不够美观并且尚有BUG没有解决,图形.色彩间不够协调. 2. 理清界面间的跳转逻辑. 搜索: 搜索成功并定位后,不会影响地理标签的显示. 定 ...