在安裝系統的時候填寫的用戶名可能沒怎麼考慮,如果後來覺得這個用戶名不怎麼好,想在不影響任何操作的情況僅僅修改這個用戶名,可以嗎?答案當然是肯定的.
在這裡我就不細說原理了,直接給出具體的操作方法如下:
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-群組資訊
[火星人 ] Linux系統中修改用戶名的方法已經有522次圍觀