更改linux用戶名的兩種方式-推薦方式二-高逼格方式三
方式一:從recovery模式進入更改用戶名,解決只有一個用戶但我就愛用命令改的問題
前提知識:1.了解/etc/passed文件所描述的用戶信息含義,比如:代表分隔信息;/home/ycp代表用戶目錄
2.了解usermod命令的使用,比如-c代表更改用戶描述信息(登錄系統時顯示的名稱即描述信息) -l 表示用戶名(可以和描述信息不一致)-d表示用戶目錄等等,使用man usermod可詳細查詢使用方法
第一步:進入recovery模式
1.重啟長按shift進入grub菜單,要提前一點按shift
2.上下鍵選中圖recovery mode,不要按enter,按e,表示編輯啟動參數,出現如下圖
3.左右鍵定位至ro recovery nomodeser改為rw single init=/bin/bash如下所示
4.按F10進入root單用戶模式如下,在此模式下方可更改文件和文件夾,即可自由更改用戶名了。上圖ro表示read-only, rw表示可讀可寫
5.在上圖敲入以下命令
a進入/home更改用戶文件夾名稱:mv ycp topeet
b.更改用戶名:usermod -l ycp topeet
c.更改用戶描述信息:usermod -c ycp-pc ycp #註意,user的名字在上一個命令中已經由topeet改為了ycp,ycp-pc為登錄時的名字
d.更改用戶目錄:usermod -d /home/ycp ycp
直接重啟即可了
6.rw single init=/bin/bash不用改回ro recovery nomodeser,系統自己會恢復為ro recovery nomodeser
7.過程中出現的問題
7.1直接不在recovery模式,即正常界面su - 進入root使用命令usermod -l ycp topeet更改會提示topeet用戶已經logged in,即不能更改正在登陸的用戶。
因為我的系統除了系統本身的一些偽用戶(UID為:1~499,也稱為系統保留賬號)和root用戶外只有一個用戶topeet,所以登陸時用的是topeet,造成不能更改,如果有兩個用戶,用另外一個用戶登陸然後可以註銷topeet再改其用戶名。
只有一個用戶情況下,在root下使用pkill -t tty7註銷topeet會回到登陸界面,造成改不了,這就是方式一能解決的問題。w命令可查看登陸的有哪些用戶
7.2改rw single init=/bin/bash時寫成了rw single init=/bash/bin,會造成按F10進不了bash,重啟正確填寫就行了
7.3 改完用戶名就重啟,導致正確的密碼也進不了,是因為登陸名稱還沒改,進入再改usermod -c ycp-pc ycp就OK
7.4改完登陸ycp-pc如圖一片漆黑,以為改錯了哪裏,其實是登錄選項的問題,如下:虛驚一場
是因為選擇了recovery mode,選回ubuntu就好了。
這裏的recovery mode和前面的是有區別,還是不能更改用戶名如下,因為是以當前用戶登陸的,仔細看root的顯示狀態也是不一樣的。
方式二:參考 http://www.jianshu.com/p/11cd3564855c 直接修改以下文件 /方法簡便 其實方式一的動作結果就是修改了文件/etc/passwd和/etc/shadow,但沒有修改/etc/group、/etc/gshadow,但仍然有效;因為用戶ycp的所屬GID(組ID)還是1000,沒改變,還是屬於topeet組,組的名字無關大雅,也可以更改組名。區別就是命令usermod會同時修改/etc/passwd和/etc/shadow,而直接修改文件不會。
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
/etc/sudoers #不更改似乎沒有影響,用戶模式下依然可以用sudo不提示錯誤,暫時沒有出現文中提到的錯誤。
其實之前就知道這些文件,但沒 改過,以為不可修改,因為密碼段顯示x是加密的。命令passwd ycp可以修改密碼。不過也好,了解了進入recovery的方法,或許以後別有他用。走彎路不一定是壞事,而是又多認了一條路到目的地。
方式三:從設置進入更改,太低端,圖形化界面,而且只能修改用戶名,密碼,不能修改所屬組GID,用戶目錄等等,遠遠不能顯示搞linux敲命令的高逼格。圖形化界面的結果也是修改了文件。
僅以此記錄學習點滴-2017.9.29
更改linux用戶名的兩種方式-推薦方式二-高逼格方式三