"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")


