最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

usermod

互联网 admin 12浏览 0评论

usermod

近日遇到需求,需要批量将60台节点的nagios用户登录权限改为“nologin”
因此用到usermod命令,就总结一下吧。

参考:

语法:usermod [options] user_name

usermod 命令修改系统帐户文件来反映通过命令行指定的变化

选项(options):

-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  ##解锁用户的密码

举例:

1、修改用户的shell(我所遇到的情况
需要批量将60台节点的nagios用户登录权限改为“nologin”
首先更改用户账号信息的命令:

$>usermod -s /sbin/nologin nagios

批量的语句,此处用到的是ansible:

$>ansible -i ../host/app-host-11 app -m shell -a "usermod -s /sbin/nologin nagios"

结果如下:

$>ansible -i ../host/app-host-65 all -m shell -a "grep nagios /etc/passwd"10.252.58.84 | SUCCESS | rc=0 >>
nagios:x:503:503:nagios monitor:/home/nagios:/sbin/nologin

2,新建用户test,密码test,另外添加usertest组

$>useradd test 
$>echo "test" | passwd --stdin test 
$>groupadd usertest 

3、把test用户加入usertest组

$>usermod -aG usertest test ##多个组之间用空格隔开 
$>id test 
uid=500(test) gid=500(test) groups=500(test),501(usertest) 

4、修改test用户的家目录

$>usermod -md /home/usertest 
$>ls /home
usertest 

5、修改用户名

$>usermod -l urchin(新用户名称)  test(原来用户名称) 
$>id urchin 
uid=500(urchin) gid=500(test) groups=500(test),501(usertest) 

6、锁定urchin的密码

$> sed -n '$p' /etc/shadow 
urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7::: 
$>usermod -L urchin 
$> sed -n '$p' /etc/shadow 
urchin:!$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7::: 

7、解锁urchin的密码

$>usermod -U urchin
$> sed -n '$p' /etc/shadow 
urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \ 
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7::: 

8、修改用户的UID

$>usermod -u 578 urchin (UID必须唯一) 
$>id urchin 
uid=578(urchin) gid=500(test) groups=500(test),501(usertest) 

9、修改用户的GID

$>groupadd -g 578 test1 
$>usermod -g 578 urchin (578组一定要存在) 
$>id urchin 
uid=578(urchin) gid=578(test1) groups=578(test1),501(usertest) 

10、指定帐号过期日期

$> sed -n '$p' /etc/shadow 
urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \ 
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7::: 
$> usermod -e 2012-09-11 urchin 
$> sed -n '$p' /etc/shadow 
urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \ 
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7::15594: 

11、指定用户帐号密码过期多少天后,禁用该帐号

$> usermod -f 0 urchin 
$> sed -n '$p' /etc/shadow 
urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \ 
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7:0:15594: 

注意

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日算起,多少天后账号失效

usermod

近日遇到需求,需要批量将60台节点的nagios用户登录权限改为“nologin”
因此用到usermod命令,就总结一下吧。

参考:

语法:usermod [options] user_name

usermod 命令修改系统帐户文件来反映通过命令行指定的变化

选项(options):

-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  ##解锁用户的密码

举例:

1、修改用户的shell(我所遇到的情况
需要批量将60台节点的nagios用户登录权限改为“nologin”
首先更改用户账号信息的命令:

$>usermod -s /sbin/nologin nagios

批量的语句,此处用到的是ansible:

$>ansible -i ../host/app-host-11 app -m shell -a "usermod -s /sbin/nologin nagios"

结果如下:

$>ansible -i ../host/app-host-65 all -m shell -a "grep nagios /etc/passwd"10.252.58.84 | SUCCESS | rc=0 >>
nagios:x:503:503:nagios monitor:/home/nagios:/sbin/nologin

2,新建用户test,密码test,另外添加usertest组

$>useradd test 
$>echo "test" | passwd --stdin test 
$>groupadd usertest 

3、把test用户加入usertest组

$>usermod -aG usertest test ##多个组之间用空格隔开 
$>id test 
uid=500(test) gid=500(test) groups=500(test),501(usertest) 

4、修改test用户的家目录

$>usermod -md /home/usertest 
$>ls /home
usertest 

5、修改用户名

$>usermod -l urchin(新用户名称)  test(原来用户名称) 
$>id urchin 
uid=500(urchin) gid=500(test) groups=500(test),501(usertest) 

6、锁定urchin的密码

$> sed -n '$p' /etc/shadow 
urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7::: 
$>usermod -L urchin 
$> sed -n '$p' /etc/shadow 
urchin:!$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7::: 

7、解锁urchin的密码

$>usermod -U urchin
$> sed -n '$p' /etc/shadow 
urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \ 
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7::: 

8、修改用户的UID

$>usermod -u 578 urchin (UID必须唯一) 
$>id urchin 
uid=578(urchin) gid=500(test) groups=500(test),501(usertest) 

9、修改用户的GID

$>groupadd -g 578 test1 
$>usermod -g 578 urchin (578组一定要存在) 
$>id urchin 
uid=578(urchin) gid=578(test1) groups=578(test1),501(usertest) 

10、指定帐号过期日期

$> sed -n '$p' /etc/shadow 
urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \ 
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7::: 
$> usermod -e 2012-09-11 urchin 
$> sed -n '$p' /etc/shadow 
urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \ 
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7::15594: 

11、指定用户帐号密码过期多少天后,禁用该帐号

$> usermod -f 0 urchin 
$> sed -n '$p' /etc/shadow 
urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \ 
Z5m4NN6bJyLjCG7S6vmji/PFDfbyITdm1WmtV45CfHV5vux/:15594:0:99999:7:0:15594: 

注意

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日算起,多少天后账号失效
发布评论

评论列表 (0)

  1. 暂无评论