"usermod"命令,可以用来设置用户账户的 主组、附加组、登录使用的Shell。
命令 | 作用 |
usermod -g 组名 用户名 | 修改用户的主组(gid) |
usermod -G 组名 用户名 | 修改用户的附加组,会覆盖之前的附加组。 |
usermod -a -G 组名 用户名 | 追加用户的附加组,必须和"-G"选项一起使用。 |
usermod -s /bin/bash | 修改用户登录的Shell |
一、"/etc/passwd"文件 和 "/etc/group"文件
1、可以从"/etc/passwd"文件中查看用户信息。
2、可以从"/etc/group"文件中查看组信息。(所有的组,都保存在这个文件中,没有主组,附加组的区分!!!)。
二、主组 和 附加组 是相对而言
如下图中:
"gid=1000(greamrod)"就是主组,所以"组=1000(greamrod),"也是主组。
剩余的"组=4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare),1002(my_dev)"为附加组。
如下图:
将原本的"gid=1000(greamrod)"主组,修改为"gid=1002(my_dev)"。
注意:使用"usermod"命令修改了 主组、附加组、登录Shell 之后,都要退出重新登录后,在生效!!!
如下图:
原本的"my_dev"附加组,成为了"gid=1002(my_dev)"主组。
主组为:"gid=1002(my_dev) 组=1002(my_dev),"。
附加组为:"组=4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)"。
如下图:
三、"usermod"命令的使用
"usermod"命令,可以用来设置用户账户的 主组、附加组、登录使用的Shell。
案例一:修改用户的主组(gid)
usermod -g 组名 用户名 | 修改用户的主组(gid) |
1、新建一个"zhangsan"用户,要求有 用户主目录、组名与用户名同名,密码为"123456"。
2、将"zhangsan"用户所属的主组(gid),修改为"my_dev"。
案例二:修改用户的附加组
usermod -G 附加组 用户名 | 修改用户的附加组,会覆盖原先的附加组。 |
usermod -a -G 附加组 用户名 | 添加用户的附加组,不会覆盖原先的附加组。 |
①设置了用户的附加组之后,需要重新登录才能生效!!!
②使用"useradd"命令添加的用户,默认是没有权限使用"sudo"以"root"身份执行命令的。
1、比较新建"zhangsan"用户 与 系统管理员用户"greamrod"用户,发现"zhangsan"用户,没有任何附加组。
2、给"zhangsan"用户添加,"zhangsan"、"adm"、"sudo"组。
3、将"zhangsan"用户的附加组,全部清空。
案例三:修改用户登录的Shell
usermod -s /bin/bash | 修改用户登录的Shell |
提示:设置了用户的附加组之后,需要重新登录才能生效!!!
1、创建"zhangsan"用户时,没有指定登录的Shell。所以Ubuntu系统默认使用了"/bin/sh"。
2、将"zhangsan"用户的登录Shell,更改为"/bin/bash"。(推荐使用"bash")