Linux – Usermod命令参数解析和实例说明
usermod 命令修改系统帐户文件来反映通过命令行指定的变化
1. 首先看看usermod都是有哪些参数
[root@hxweb101 ~]$ usermod --help
Usage: usermod [options] LOGIN
Options:
-a, --append append the user to the supplemental GROUPS
(use only with -G)
-c, --comment COMMENT new value of the GECOS field
-d, --home HOME_DIR new home directory for the user account
-e, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE
-f, --inactive INACTIVE set password inactive after expiration
to INACTIVE
-g, --gid GROUP force use GROUP as new primary group
-G, --groups GROUPS new list of supplementary GROUPS
-h, --help display this help message and exit
-l, --login NEW_LOGIN new value of the login name
-L, --lock lock the user account
-m, --move-home move contents of the home directory to the new
location (use only with -d)
-o, --non-unique allow using duplicate (non-unique) UID
-p, --password PASSWORD use encrypted password for the new password
-s, --shell SHELL new login shell for the user account
-u, --uid UID new UID for the user account
-U, --unlock unlock the user account
-Z, --selinux-user new selinux user mapping for the user account
|
[ root @ hxweb101 ~ ] $ usermod -- help Usage : usermod [ options ] LOGIN Options : - a , -- append append the user to the supplemental GROUPS ( use only with - G ) - c , -- comment COMMENT new value of the GECOS field - d , -- home HOME_DIR new home directory for the user account - e , -- expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE - f , -- inactive INACTIVE set password inactive after expiration to INACTIVE - g , -- gid GROUP force use GROUP as new primary group - G , -- groups GROUPS new list of supplementary GROUPS - h , -- help display this help message and exit - l , -- login NEW_LOGIN new value of the login name - L , -- lock lock the user account - m , -- move - home move contents of the home directory to the new location ( use only with - d ) - o , -- non - unique allow using duplicate ( non - unique ) UID - p , -- password PASSWORD use encrypted password for the new password - s , -- shell SHELL new login shell for the user account - u , -- uid UID new UID for the user account - U , -- unlock unlock the user account - Z , -- selinux - user new selinux user mapping for the user account |
下面是网友的翻译,我直接拿来了:
-a|--append ##把用户追加到某些组中,仅与-G选项一起使用 -c|--comment ##修改/etc/passwd文件第五段comment -d|--home ##修改用户的家目录通常和-m选项一起使用 -e|--expiredate ##指定用户帐号禁用的日期,格式YY-MM-DD -f|--inactive ##用户密码过期多少天后采用就禁用该帐号,0表示密码已过期就禁用帐号,-1表示禁用此功能,默认值是-1 -g|--gid ##修改用户的gid,改组一定存在 -G|--groups ##把用户追加到某些组中,仅与-a选项一起使用 -l|--login ##修改用户的登录名称 -L|--lock ##锁定用户的密码 -m|--move-home ##修改用户的家目录通常和-d选项一起使用 -s|--shell ##修改用户的shell -u|--uid ##修改用户的uid,该uid必须唯一 -U|--unlock ##解锁用户的密码
|
- a | -- append ##把用户追加到某些组中,仅与-G选项一起使用 - c | -- comment ##修改/etc/passwd文件第五段comment - d | -- home ##修改用户的家目录通常和-m选项一起使用 - e | -- expiredate ##指定用户帐号禁用的日期,格式YY-MM-DD - f | -- inactive ##用户密码过期多少天后采用就禁用该帐号,0表示密码已过期就禁用帐号,-1表示禁用此功能,默认值是-1 - g | -- gid ##修改用户的gid,改组一定存在 - G | -- groups ##把用户追加到某些组中,仅与-a选项一起使用 - l | -- login ##修改用户的登录名称 - L | -- lock ##锁定用户的密码 - m | -- move - home ##修改用户的家目录通常和-d选项一起使用 - s | -- shell ##修改用户的shell - u | -- uid ##修改用户的uid,该uid必须唯一 - U | -- unlock ##解锁用户的密码 |
实例说明:
比如我有hexu 和 www 用户和用户组:
- www创建为内部用户禁止远程登陆,用于运行web service。
- hexu创建为外部使用用户,用于登陆、调试或是上传代码等。
这时可以考虑hexu添加到www用户组,并将代码目录允许组读写:
$ usermod -a -G www hexu # 将hexu添加到www用户组 $ chmod -R ug+w /data/code # 将目录添加用户组可写
|
$ usermod - a - G www hexu # 将hexu添加到www用户组 $ chmod - R ug + w / data / code # 将目录添加用户组可写 |
下面是网友的整理,转过来了: 示例(Examples):
#1,新建用户test,密码test,另外添加usertest组 $ useradd test $ echo "test" | passwd --stdin test $ groupadd usertest #2,把test用户加入usertest组 $ usermod -aG usertest test ##多个组之间用空格隔开 $ id test uid=500(test) gid=500(test) groups=500(test),501(usertest) #3,修改test用户的家目录 $ usermod -md /home/usertest $ ls /home usertest #4,修改用户名 $ usermod -l testnew(新用户名称) test(原来用户名称) $ id testnew uid=500(testnew) gid=500(test) groups=500(test),501(usertest) #5,锁定testnew的密码 $ sed -n '$p' /etc/shadow testnew:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7::: $ usermod -L testnew $ sed -n '$p' /etc/shadow testnew:!$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7::: #6,解锁testnew的密码 $ usermod -U testnew $ sed -n '$p' /etc/shadow testnew:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7::: #7,修改用户的shell $ sed '$!d' /etc/passwd testnew:x:500:500::/home/usertest:/bin/bash $ usermod -s /bin/sh testnew $ sed -n '$p' /etc/passwd testnew:x:500:500::/home/usertest:/bin/sh # 也可以手动编辑 vi /etc/passwd 找到testnew编辑保存即可 $ vi /etc/password #8,修改用户的UID $ usermod -u 578 testnew (UID必须唯一) $ id testnew uid=578(testnew) gid=500(test) groups=500(test),501(usertest) #9,修改用户的GID $ groupadd -g 578 test1 $ usermod -g 578 testnew (578组一定要存在) $ id testnew uid=578(testnew) gid=578(test1) groups=578(test1),501(usertest) #10,指定帐号过期日期 $ sed -n '$p' /etc/shadow testnew:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7::: $ usermod -e 2012-09-11 testnew $ sed -n '$p' /etc/shadow testnew:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7::15594: 11,指定用户帐号密码过期多少天后,禁用该帐号 $ usermod -f 0 testnew $ sed -n '$p' /etc/shadow testnew:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7:0:15594:
|
#1,新建用户test,密码test,另外添加usertest组 $ useradd test $ echo "test" | passwd -- stdin test $ groupadd usertest #2,把test用户加入usertest组 $ usermod - aG usertest test ##多个组之间用空格隔开 $ id test uid = 500 ( test ) gid = 500 ( test ) groups = 500 ( test ) , 501 ( usertest ) #3,修改test用户的家目录 $ usermod - md / home / usertest $ ls / home usertest #4,修改用户名 $ usermod - l testnew ( 新用户名称 ) test ( 原来用户名称 ) $ id testnew uid = 500 ( testnew ) gid = 500 ( test ) groups = 500 ( test ) , 501 ( usertest ) #5,锁定testnew的密码 $ sed - n '$p' / etc / shadow testnew : $ 6 $ 1PwPVBn5 $o .MIEYONzURQPvn / YqSp69kt2CIASvXhOnjv / t Z5m4NN6bJyLjCG7S6vmji / PFDfbyITdm1WmtV45CfHV5vux / : 15594 : 0 : 99999 : 7 :: : $ usermod - L testnew $ sed - n '$p' / etc / shadow testnew : ! $ 6 $ 1PwPVBn5 $o .MIEYONzURQPvn / YqSp69kt2CIASvXhOnjv / t Z5m4NN6bJyLjCG7S6vmji / PFDfbyITdm1WmtV45CfHV5vux / : 15594 : 0 : 99999 : 7 :: : #6,解锁testnew的密码 $ usermod - U testnew $ sed - n '$p' / etc / shadow testnew : $ 6 $ 1PwPVBn5 $o .MIEYONzURQPvn / YqSp69kt2CIASvXhOnjv / t Z5m4NN6bJyLjCG7S6vmji / PFDfbyITdm1WmtV45CfHV5vux / : 15594 : 0 : 99999 : 7 :: : #7,修改用户的shell $ sed '$!d' / etc / passwd testnew : x : 500 : 500 :: / home / usertest : / bin / bash $ usermod - s / bin / sh testnew $ sed - n '$p' / etc / passwd testnew : x : 500 : 500 :: / home / usertest : / bin / sh # 也可以手动编辑 vi /etc/passwd 找到testnew编辑保存即可 $ vi / etc / password #8,修改用户的UID $ usermod - u 578 testnew ( UID 必须唯一 ) $ id testnew uid = 578 ( testnew ) gid = 500 ( test ) groups = 500 ( test ) , 501 ( usertest ) #9,修改用户的GID $ groupadd - g 578 test1 $ usermod - g 578 testnew ( 578 组一定要存在 ) $ id testnew uid = 578 ( testnew ) gid = 578 ( test1 ) groups = 578 ( test1 ) , 501 ( usertest ) #10,指定帐号过期日期 $ sed - n '$p' / etc / shadow testnew : $ 6 $ 1PwPVBn5 $o .MIEYONzURQPvn / YqSp69kt2CIASvXhOnjv / t Z5m4NN6bJyLjCG7S6vmji / PFDfbyITdm1WmtV45CfHV5vux / : 15594 : 0 : 99999 : 7 :: : $ usermod - e 2012 - 09 - 11 testnew $ sed - n '$p' / etc / shadow testnew : $ 6 $ 1PwPVBn5 $o .MIEYONzURQPvn / YqSp69kt2CIASvXhOnjv / t Z5m4NN6bJyLjCG7S6vmji / PFDfbyITdm1WmtV45CfHV5vux / : 15594 : 0 : 99999 : 7 :: 15594 : 11 , 指定用户帐号密码过期多少天后,禁用该帐号 $ usermod - f 0 testnew $ sed - n '$p' / etc / shadow testnew : $ 6 $ 1PwPVBn5 $o .MIEYONzURQPvn / YqSp69kt2CIASvXhOnjv / t 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日算起,多少天后账号失效
Linux – Usermod命令参数解析和实例说明的更多相关文章
- Linux Top 命令参数解析
转载自:http://www.jb51.net/LINUXjishu/34604.html TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户 ...
- (转)linux traceroute命令参数及用法详解--linux跟踪路由命令
linux traceroute命令参数及用法详解--linux跟踪路由命令 原文:http://blog.csdn.net/liyuan_669/article/details/25362505 通 ...
- [转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)
linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习) https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 ...
- 【转】linux expr命令参数及用法详解
在抓包过程中,查看某个设定时间内,数据上下行多少,用命令expr 计算! --------------------------------------------------------------- ...
- linux sed命令参数及用法详解
linux sed命令参数及用法详解 http://blog.csdn.net/namecyf/article/details/7336308 1. Sed简介 sed 是一种在线编辑器,它一次处理一 ...
- linux dd命令参数及用法详解---用指定大小的块拷贝一个文件(也可整盘备份)
linux dd命令参数及用法详解---用指定大小的块拷贝一个文件 日期:2010-06-14 点击:3830 来源: 未知 分享至: linux dd命令使用详解 dd 的主要 ...
- (转)linux expr命令参数及用法详解
linux expr命令参数及用法详解 原文:http://blog.csdn.net/tianmohust/article/details/7628694 expr用法 expr命令一般用于整数值, ...
- linux mount命令参数及用法详解
linux mount命令参数及用法详解 非原创,主要来自 http://www.360doc.com/content/13/0608/14/12600778_291501907.shtml. htt ...
- linux dmesg命令参数及用法详解(linux显示开机信息命令)
linux dmesg命令参数及用法详解(linux显示开机信息命令) http://blog.csdn.net/zhongyhc/article/details/8909905 功能说明:显示开机信 ...
随机推荐
- 1.Java基础之System对象
毕向东老师Java基础学习笔记——System对象 今天学习Java中的System对象后,感觉这个对象对我们主要有以下几点用处. 1.获取当前操作系统版本和类型. 2.获取当前操作系统的path中的 ...
- js构建ui的统一异常处理方案(三)
笔者之前分析了如何实现js的责任链异常处理的方法,通过promise这个异步模型,我们能够对同步方法和异步方法的两种情况,均可以实现责任链模式.有了这些武器,我们就可以开始设计ui的统一异常处理方案了 ...
- Windows Phone 8 开发系列(持续更新中)
1. 从应用列表再次点击应用,如何恢复到上次浏览的页面呢? 2. Windows Phone 文本框的 UpdateSourceTrigger 属性不支持 PropertyChanged 怎么办? 3 ...
- Net设计模式实例之原型模式( Prototype Pattern)
一.原型模式简介(Brief Introduction) 原型模式(Prototype Pattern):用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象. Specify the kin ...
- java.lang.OutOfMemoryError:GC overhead limit exceeded填坑心得
我遇到这样的问题,本地部署时抛出异常java.lang.OutOfMemoryError:GC overhead limit exceeded导致服务起不来,查看日志发现加载了太多资源到内存,本地的性 ...
- Spring Scope:Web项目中如何安全使用有状态的Bean对象?
Web系统是最常见的Java应用系统之一,现在流行的Web项目多使用ssm或ssh框架,使用spring进行bean的管理,这为我们编写web项目带来了很多方便,通常,我们的controler层使用注 ...
- C# 文件下载 : WebClient
最近更新了一个下载小工具,主要提升了下面几点: 1. 在一些分公司的局域网中,连接不上外网 2. 服务器上的文件更新后,下载到的还是更新前的文件 3. 没有下载进度提示 4. 不能终止下载 下面和大家 ...
- Java中,包的概念、常量、静态成员、继承
新建包:左上角-新建-包 命名规则(通常从大到小,方便整合不容易冲突) 例如:com.itnba.maya.test package必须在最顶行,之前不能再有其他代码 使用包: 快捷方式:使用包中的 ...
- 使用MyEclipse 开发struts2框架结构详细教程——以登录为例
1.首先建立Web Project,名称为:struts2 ,然后选择Java EE6.0,点击Finish. 2.右击“struts”选择MyEclipse->Add Struts Capab ...
- SpringMVC基本使用
springMVC是一个MVC框架,他控制着请求相应的整个流程,从请求一进入到应用服务器到相应离开,都离不开mvc框架 请求在应用服务器中 先说说请求相应在应用服务器的整个过程 DisptacherS ...