2013年10月3日 星期四

在 CentOS 裡修改使用者帳號的 UID / GID

我目前手邊有執行著 Debian GNU/Linux 7 與 CentOS 6.4 的兩台機器。其中,Debian GNU/Linux 預設的 uid/gid 是從 1000 開始計算;而 CentOS 則是從 500 開始計算。為了方便使用,我將 CentOS 裡的使用者帳號 uid/gid 更改成和 Debian GNU/Linux 裡的一樣。主要參考的文章是以下這兩篇:

1. Linux How to change user UID and GID

2. Changing UID/GID in CentOS

首先,可以使用 id 這個指令分別在 Debian GNU/Linux 及 CentOS 上查詢使用者帳號的資訊。假設,我使用的使用者帳號為 online,那麼就執行這個指令:

id online

接著,使用 usermod 這個指令變更 uid,這裡將 uid 變更為 1000:

usermod -u 1000 online

再使用 groupmod 這個指令變更 gid,這裡將 gid 變更為 1000:

groupmod -g 1000 online

這裡,在使用 usermod 及 groupmod 兩個指令變更使用者帳號的 uid/gid 時,該名使用者「不得」在登入的狀態。所以,如果已經將 online 登入了,請先將這個帳號登出才能變更 uid/gid。

最後,要檢查 online 這個使用者的家目錄 (/home/online),usermod 這個指令會同時修改使用者家目錄內的所有檔案、目錄,讓使用者屬性一併變更;但 grouupmod 這個指令似乎不會自動去修改。所以,必須再執行這個指令修改使用者家目錄裡的檔案、目錄屬性。

chown -R :online /home/online

這樣就搞定了。

張貼留言