歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux服務器

Linux下用戶名修改法

 

在安裝系統的時候填寫的用戶名可能沒怎麼考慮,如果後來覺得這個用戶名不怎麼好,想在不影響任何操作的情況僅僅修改這個用戶名,可以嗎?答案當然是肯定的。

  在這裡我就不細說原理了,直接給出具體的操作方法如下:

  1、建議使用single模式(如ubuntu中的RecoveryMode以root用戶登錄系統。

  當然這個也不是必須的,如果你有兩個或者兩個以上的用戶,並且其中不需要的更改的那個具有獲得root權限的資格即可。是不是說的有點亂了?呵呵因為我當時的情況是要修改兩個用戶名,兩者都可獲得root權限,可交替操作。但怎麼說,也不如直接以root身份等來的方便。

  2、修改/etc/passwd這個文件中的用戶名部分、用戶組部分、主目錄部分;

  3、修改/etc/group這個文件中的用戶名部分、用戶組部分;同時也將/etc/gshadow改寫一下;

  4、修改/etc/shadow文件中的用戶名部分,這個不改將無法登錄系統;

  5、修改/home/olduser為/home/newuser,同時注意一定要修改其所屬的用戶和用戶組,chown時加上個-R,這個很關鍵;

  這5個步驟缺一不可,操作失誤很可能導致無法登入系統,認真完成上面的5個步驟即可修改成功。

  備注:上面所述的都是通過手動修改的方法,如果想一下子修改掉可以試試usermod-l命令,呵呵!~~

  usermod用法

  修改使用者帳號

  名稱

  usermod-修改使用者帳號

  語法

  usermod[-ccomment][-dhome_dir[-m]][-eexpire_date][-finactive_time][-ginitial_group][-Ggroup[,...]][-llogin_name][-sshell][-uuid[-o]]login

  描述

  usermod命令會參照你命令列上指定的部份修改系統帳號檔。下列為usermod可選用的參數。

  -ccomment

  更新使用者帳號password檔中的注解欄,一般是使用chfn(1)來修改。

  -dhome_dir

  更新使用者新的登入目錄。如果給定-m選項,使用者舊目錄會搬到新的目錄去,如舊目錄不存在則建個新的。

  -eexpire_date

  加上使用者帳號停止日期。日期格式為MM/DD/YY.

  -finactive_days

  帳號過期幾日後永久停權。當值為0時帳號則立刻被停權。而當值為-1時則關閉此功能。預設值為-1。

  -ginitial_group

  更新使用者新的起始登入群組。群組名須已存在。群組ID必須參照既有的的群組。群組ID預設值為1。

  -Ggroup,[...]

  定義使用者為一堆groups的成員。每個群組使用??區格開來,不可以夾雜空白字元。群組名同-g選項的限制。如果使用者現在的群組不再此列,則將使用者由該群組中移除。

  -llogin_name

  變更使用者login時的名稱為login_name。其於不變。特別是,使用者目錄名應該也會跟著更動成新的登入名。

  -sshell

  指定新登入shell。如此欄留白,系統將選用系統預設shell。

  -uuid使

  用者ID值。必須為唯一的ID值,除非用-o選項。數字不可為負值。預設為最小不得小於99而逐次增加。0~99傳統上是保留給系統帳號使用。使用者目錄樹下所有的檔案目錄其userID會自動改變。放在使用者目錄外的檔案則要自行手動更動。

  警告

  usermod不允許你改變正在線上的使用者帳號名稱。當usermod用來改變userID,必須確認這名user沒在電腦上執行任何程序。你需手動更改使用者的crontab檔。也需手動更改使用者的at工作檔。采用NISserver須在server上更動相關的NIS設定。

  檔案

  /etc/passwd-使用者帳號資訊/etc/shadow-使用者帳號資訊加密/etc/group-群組資訊

Copyright © Linux教程網 All Rights Reserved