[Linux][Ubuntu]Ubuntu修改使用者名稱和密碼
因有時會copy別人的linux映象,為了方便會修改使用者名稱和密碼,今天查了下資料,自己嘗試了下,記錄下來,以防忘記!
修改密碼
輸入下列命令,並鍵入舊密碼和新密碼,即可修改成功
$sudo passwd xxxx
$sudo passwd root
修改使用者名稱
方案一(方便快捷)
開啟虛擬機器,不要登入,使用CTRL+ALT+F1開啟一個字元終端用root使用者登陸(CTRL+ALT+F7返回操作介面);首先登入當前使用者如:sailer,設定root使用者密碼,命令:exit,sailer使用者退出系統,以root使用者登陸。
# usermod -l sailor -md /home/sailor sailer
# groupmod -n sailor sailer
方案二(比較繁瑣,可以使用)
在vim下,通過輸入以下命令,將檔案內字串進行替換,str2替換str1
:%s/str1/str2/
這種方法更加本質,直接修改與使用者和組相關的幾個配置檔案。其實userdel、useradd、passwd等命令本質上也是修改這幾個檔案。Linux下沒有直接更改使用者名稱的命令工具,或者有這樣的工具但我不知道,但即使有這樣的工具,其本質也是修改這幾個配置檔案。
$ su - # vim /etc/passwd ... ... sailer:x:1000:1000:sailer,,,:/home/sailer:/bin/bash
這個檔案每行對應著一個使用者,每行由冒號分割為7個欄位,其含義分別為:
使用者名稱:口令:使用者標識號:組標識號:註釋性描述:主目錄:登入Shell
例如上面的passwd檔案我們改成這個樣子:
# vim /etc/passwd
... ...
sailor:x:1000:1000:sailor,,,:/home/sailor:/bin/bash
修改一下使用者的主目錄的目錄名:
# mv /home/sailer /home/sailor
使用者的登陸密碼其實並不存放在/etc/passwd檔案中,而是在/etc/shadow檔案中。開啟它:
# vim /etc/shadow ... ... sailer:$6$tDOxH2en$Neyhp/0oRtJk7kjxX.L3OAkcVIiyxNt8P/rsoo5aeTMQbjG5rSNwsXs3BR15qJ6mNedU47h2YFepMAVG9uMyx0:17035:0:99999:7:::
這個檔案存放了使用者的密碼(經過加密)還有密碼的失效時間等一些資訊。最後我們還需要把這個使用者加入到若干組中去。開啟/etc/group檔案:
# vim /etc/group
... ...
sudo:x:27:sailer
... ...
plugdev:x:46:sailer
... ...
sailer:x:1000:
這個檔案每行對應一個使用者組,其格式為“組名:組密碼佔位符:組ID:組內使用者列表”。另外Linux下有一個私有組概念,即每建立一個使用者,系統會自動建立一個與使用者同名的組,該組為該使用者的主組(或稱私有組)。使用者除了屬於與自己同名的主組外,還會屬於其他組,這些組稱為使用者的附加組。
改完後是如下效果:
# vim /etc/group
... ...
sudo:x:27:sailor
... ...
plugdev:x:46:sailor
... ...
sailor:x:1000:
與passwd檔案對應一個shadow檔案用於儲存使用者登陸密碼類似,group檔案也對應一個gshadow檔案用於存放使用者組的密碼。其實使用者組密碼對於我們這種桌面應用環境來說根本用不著,但作為強迫症患者還是要把系統修改完美。我們開啟這個檔案看一下:
# vim /etc/gshadow
saned:!::
davfs2:!::
sailer:!::
同樣每行對應一個組,格式為:“組名:密碼:組管理者:組內使用者列表”,其中密碼欄位為”!”表示沒有密碼。這裡我們只需要將組名sailer改為sailor就行了。
好了,到這裡才算大功告成了!
方案三 (有一些問題)
-
檢視所屬使用者組
登入Ubuntu,在當前使用者情況下,檢視屬於哪些使用者組;$ groups
sailer adm cdrom sudo dip plugdev lpadmin sambashare -
刪除當前使用者
因當前使用者是無法刪除自己的,即使sudo也不行。例如:$ sudo userdel sailer
userdel: user sailer is currently used by process 5046所以,當前使用者必須退出系統,用另一個使用者(如root使用者)登陸並執行userdel操作。先輸入使用者密碼,在輸入兩次新密碼,修改成功;
$ sudo passwd
然後在root下reboot,不要登入,使用CTRL+ALT+F1開啟一個字元終端用root使用者登陸(CTRL+ALT+F7返回操作介面),然後刪除剛才的使用者,(使用者的主目錄刪掉/修改檔名):
$ su
root# userdel sailer
1、root# mv /home/sailer /home/sailor
2、root# rm -rf /home/sailer -
建立新使用者
接著建立新的使用者,併為之設定密碼root# useradd sailor
root# passwd sailor -
新增使用者組
這時你建立的新使用者僅僅會屬於使用者的私有組,最後我們還需要把這個使用者加入到第一步記下來的若干組中去:
root# usermod -G adm,cdrom,sudo,dip,plugdev,lpadmin,sambashare sailor