如何修改Linux用戶的所屬組?usermod命令使用教程

修改linux用戶的所屬組主要使用usermod命令,分為以下步驟:1. 修改主組使用 -g 參數,如 sudo usermod -g appusers testuser;2. 添加附加組使用 -g 參數,但會覆蓋原有附加組,如 sudo usermod -g developers,docker testuser;3. 若需保留原有附加組并追加新組,使用 -ag 參數,如 sudo usermod -ag docker testuser;4. 查看用戶所屬組可用 groups、id 或 grep 命令驗證。操作時需確保具備管理員權限且目標組已存在。

如何修改Linux用戶的所屬組?usermod命令使用教程

修改linux用戶的所屬組,主要用到的命令是usermod。這個命令功能強大,可以用來調整用戶賬戶的各種屬性,包括所屬主組(primary group)和附加組(supplementary groups)。下面我們就來具體看看怎么用。

如何修改Linux用戶的所屬組?usermod命令使用教程


修改用戶的主組:使用 -g 參數

如果你需要把某個用戶的主組改掉,用的是-g參數。主組就是用戶默認歸屬的那個組,創(chuàng)建文件時默認的組權限也是從這里來的。

如何修改Linux用戶的所屬組?usermod命令使用教程

舉個例子,假設現在有一個用戶叫testuser,你想把他從原來的testgroup改成appusers作為主組,命令應該是這樣的:

sudo usermod -g appusers testuser

需要注意幾點:

如何修改Linux用戶的所屬組?usermod命令使用教程

  • 要有管理員權限,所以前面加了sudo
  • 指定的組必須已經存在,否則會報錯
  • 修改后,用戶以前創(chuàng)建的文件所屬組不會自動變,得手動改

給用戶添加附加組:使用 -G 參數

除了主組之外,用戶還可以屬于多個附加組。這時候要用-G參數。比如你想讓testuser同時屬于developers和docker這兩個組:

sudo usermod -G developers,docker testuser

但注意一點:這個操作會覆蓋用戶當前所有的附加組。也就是說,如果用戶之前已經在www-data組里,現在不在了。如果你想保留舊的組,加上新的,就得手動列全。

還有一種情況是你只想加一個新組,不想影響原來的附加組列表,那可以用-aG組合:

sudo usermod -aG docker testuser

這里的-a意思是“append”,追加的意思,配合-G才能實現只加不刪的效果。


查看用戶當前所屬組

改完之后想確認一下效果,可以用groups命令:

groups testuser

或者直接查看/etc/group文件:

grep testuser /etc/group

不過這個文件主要是記錄組信息,用戶信息還是建議用groups或id命令更直觀:

id testuser

這條命令會顯示用戶的UID、主組GID和所有附加組。


基本上就這些。修改用戶組其實不難,關鍵是要分清楚主組和附加組的區(qū)別,還有記得在加組的時候要不要保留原來已有的組。只要這幾個點搞清楚了,用usermod就不會出錯。

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享