usermod 和 groupmod 命令详解

本文转自:http://www.codeweblog.com/usermod-%E5%92%8C-groupmod-%E5%91%BD%E4%BB%A4%E8%AF%A6%E8%A7%A3/



usermode 和 groupmod 这两个命令可以修改用户和组的信息,像用户id,组id,用户名,组名 等等...

usermod指令,我们可以用参数来指定修改/etc/passwd文件的内容

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组 (-aG 参数的使用)

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

3,修改test用户的家目录 (-md参数的使用)

  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的密码 (-U 和 -L参数的使用)

  1. [root@thinkpad /]# cat /etc/shadow | grep mary
    mary:$6$08l7tFts$FN65ihKiiLx5i52qqr4HkF7gaAD78NkCuFxGmw3k3YmC2kQ69TX6bmd9mMpQR4oJ5nhD6113zICVolJYC/k2h0:15883:0:99999:7:::
    [root@thinkpad /]# usermod -L mary
    [root@thinkpad /]# cat /etc/shadow | grep mary
    mary:!$6$08l7tFts$FN65ihKiiLx5i52qqr4HkF7gaAD78NkCuFxGmw3k3YmC2kQ69TX6bmd9mMpQR4oJ5nhD6113zICVolJYC/k2h0:15883:0:99999:7:::
    [root@thinkpad /]# usermod -U mary
    [root@thinkpad /]# cat /etc/shadow | grep mary
    mary:$6$08l7tFts$FN65ihKiiLx5i52qqr4HkF7gaAD78NkCuFxGmw3k3YmC2kQ69TX6bmd9mMpQR4oJ5nhD6113zICVolJYC/k2h0:15883: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 (-u 参数的使用)

  1. #usermod -u 578 urchin (UID必须唯一)
  2. #id urchin
  3. uid=578(urchin) gid=500(test) groups=500(test),501(usertest)

9,修改用户的GID (-g参数的使用)

  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,指定帐号过期日期 (-e参数的使用)

  1. # sed -n '$p' /etc/shadow
  2. urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \
  3. # usermod -e 2012-09-11 urchin
  4. # sed -n '$p' /etc/shadow
  5. urchin:$6$1PwPVBn5$o.MIEYONzURQPvn/YqSp69kt2CIASvXhOnjv/t \

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

如果想把一个用户添加到三个以上的组里面必须使用-a参数, -G参数只能实现以用户属于两个组!!

[root@thinkpad /]# id tom
uid=510(tom) gid=511(tom) 组=511(tom),510(jack)
[root@thinkpad /]# usermod -G www tom 
[root@thinkpad /]# id tom
uid=510(tom) gid=511(tom) 组=511(tom),502(www)
[root@thinkpad /]# usermod -aG jack tom
[root@thinkpad /]# id tom
uid=510(tom) gid=511(tom) 组=511(tom),502(www),510(jack)
[root@thinkpad /]# usermod -G deng1 tom
[root@thinkpad /]# id tom
uid=510(tom) gid=511(tom) 组=511(tom),500(deng1)
[root@thinkpad /]# usermod -aG jack tom
[root@thinkpad /]# usermod -aG deng1 tom
[root@thinkpad /]# usermod -aG deng2 tom
[root@thinkpad /]# id tom
uid=510(tom) gid=511(tom) 组=511(tom),500(deng1),501(deng2),510(jack)

groupmod –n 新组名 原组名,为一个组更改名字 修改的是/etc/group文件
语  法:groupmod [-g <群组识别码> <-o>][-n <新群组名称>][群组名称] 
补充说明:需要更改群组的识别码或名称时,可用groupmod指令来完成这项工作。 
参  数: 
 -g <群组识别码>  设置欲使用的群组识别码。 groupmod -g 505 bbb //把bbb组的识别码改为505(原来是504!)
 -o  重复使用群组识别码。

 -n <新群组名称>  设置欲使用的群组名称。 groupmod -n bbb aaa //把aaa组名改成bbb.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值