在Linux中,每個普通用戶都有一個帳戶,包括用戶名、密碼和主目錄等信息。除此之外,還有一些系統本身創建的特殊用戶,它們具有特殊的意義。其中最重要的是超級用戶,在linux中,它默認用戶名是root。
◆基本操作
● 增加一個用戶newuser :
useradd newuser
passwd newuser (然後根據提示兩次輸入新用戶的密碼。)
注意點 用useradd增加一個用戶後應該立刻用passwd給新用戶修改密碼,沒有密碼的新帳號將不能使用。在/etc/passwd文件中,沒有密碼的新用戶的記錄是如下一行:
newuser:!!:506:506::/home/newuser:/bin/bash
在這一行裡,用戶的密碼域被設置成了“!!”,這就意味著用戶口令還沒有設置,用戶不能登陸。(passwd文件的格式是 用戶名:密碼:用戶ID(UID):組ID(GID):全名:用戶目錄:外殼腳本)。
當然你可以用-d開關設置新用戶的主目錄(例如:useradd newuser –d /www),也可以用-g開關為用戶指定新組名(例如:useradd newuser –g linuxusers),你還可以用-G開關把新用戶設成系統其它一些組的成員(例如:useradd newuser –G users,shutdown)。所有這些,你都可以在本站的命令查詢中得到詳細信息。
附注:相應的,僅僅增加一個新組可以用命令groupadd。
●修改現有用戶的帳號:
1、 修改密碼
普通用戶可以用passwd修改自己的密碼,只有管理員才能用passwd username為其它用戶修改密碼。
2、 修改用戶shell設置
使用chsh命令可以修改自己的shell,只有管理員才能用chsh username為其它用戶修改shell設置。注意,指定的shell必須是列入/etc/shells文件中的shell,否則該用戶將不能登陸。
你也可以使用usermod命令修改shell信息,如下所示:
usermod –s (new shell path) (username)
其中new shell path和username應取相應的值。
3、 修改主目錄設置
usermod –d (new home Directory) (username)
如果想將現有主目錄的主要內容轉移到新的目錄,應該使用-m開關,如下所示:
usermod –d –m /www/newuser newuser
4、 修改UID
usermod –u UID username
主目錄中所有該用戶所擁有的文件和目錄都將自動修改UID設置。但是,對於主目錄外該用戶所擁有的文件,只能手工用chown命令修改所有權設置。
5、 修改默認組設置
username –g (group name) or GID username
6、 修改帳號的有效期
如果使用了影子口令,則可以使用如下命令來修改一個帳號的有效期:
usermod –e MM/DD/YY username
例如把用戶newuser的有效期定為12/31/01:
usermod –e 12/31/01 newuser
7、 刪除或禁止用戶帳號
使用userdel命令刪除現有用戶。例如,下面的命令將刪除bluewind用戶:
usedel bluewind
如果想同時刪除該用戶的主目錄以及其中所有內容,要使用-r開關來遞歸刪除。值得注意的是你無法刪除已經進入系統的用戶,如果想強行完成,需要先killall有關它的進程,然後再運行userdel命令。
如果只是想暫時禁止某個帳號,可以使用下列方法:
a、 使用無效的shell。例如使用usermod –s newshell username將用戶的 shell改為/bin/false(最好把它列入/etc/shells文件裡)。
b、 使該帳號過期。如果使用影子口令,可使用usermod –e MM/DD/YY username命令使該帳號過期。
如果想禁止所有帳號(root帳號當然除外)的訪問,可以創建一個名為/etc/nologin的文件,說明系統暫時不允許訪問。注意,確認你還能用root直接登陸才使用這個辦法,否則你慘了。
本文中的所有命令都可以在linuxaid獲得中文詳細的幫助。下一個部分我們講述用戶管理的高級內容。