Linux是多用戶多任務(wù)的操作系統(tǒng)智袭,用戶(user)和用戶組(group)的管理是學(xué)習(xí)和使用Linux的需要了解和掌握的基礎(chǔ)之一楼熄。
用戶管理常用命令
用戶在系統(tǒng)中是分角色的片排。在Linux系統(tǒng)中损离,由于角色不同绝葡,權(quán)限和所完成的操作也是不一樣的。用戶的角色通過UID進行區(qū)別標(biāo)識嗤谚。Linux中的用戶可分為三類棺蛛,分別如下:
- 超級用戶:該用戶既可以登錄系統(tǒng),也可以操作系統(tǒng)任何文件和命令巩步,擁有最高的權(quán)限旁赊,如root。
- 一般用戶:這一類型的用戶可以登錄系統(tǒng)椅野,但只能操作其根目錄的內(nèi)容终畅,權(quán)限受到限制籍胯,這種類型的用戶一般是通過系統(tǒng)管理員自行添加。
- 虛擬用戶:這類用戶不具有登錄系統(tǒng)的能力离福,但卻是系統(tǒng)運行不可缺少的用戶杖狼,比如bin、daemon妖爷、ftp蝶涩、mail等,這種類型的用戶是系統(tǒng)自身擁有的絮识,而非后來添加的绿聘。當(dāng)然也可以自行添加虛擬用戶。
Linux中用戶管理的常用命令有:
- useradd或adduser:添加用戶
- usermod:修改用戶
- userdel:刪除用戶
- passwd:修改密碼
添加用戶-useradd/adduser
useradd和adduser是兩個等價的命令次舌,都是用來添加用戶熄攘,基本語法格式如下所示:
useradd [參數(shù)] 用戶名
執(zhí)行上面的命令之后,將在系統(tǒng)執(zhí)行以下操作:
- 1彼念、在/etc/passwd文件中添加一行記錄
- 2挪圾、在/home目錄中創(chuàng)建新建用戶的主目錄
該命令的詳細參數(shù)如下所示:
參數(shù) | 功能 |
---|---|
-g [群組] | 用于添加用戶賬號時指定該用戶的私有組。如不指定-g參數(shù)逐沙,則將自動建立與用戶賬號同名的組做為該賬號的私有組 |
-G [群組] | 用于添加附屬組 |
-D | 用于顯示或變更useradd所使用的默認(rèn)值 |
-d [目錄] | 指定用戶主目錄哲思,如果該目錄不存在,則同時使用-m創(chuàng)建主目錄 |
-m | 若使用者目錄不存在酱吝,則自動創(chuàng)建 |
-u UID | 指定用戶的UID,UID值不能為負值也殖,預(yù)設(shè)值最小不能小于99而逐次增加。0~99傳統(tǒng)上保留給系統(tǒng)賬號使用 |
使用useradd/adduser命令添加用戶時务热,系統(tǒng)將為用戶創(chuàng)建一個同名的用戶組忆嗜,稱為私有組,這樣是為了能讓新用戶和其他用戶隔離崎岂,確保安全捆毫。如果需要改變私有組的名字,則使用-g參數(shù)完成冲甘。
示例
修改用戶-usermod
usermod命令是用來修改用戶賬號的各種屬性绩卤,如用戶主目錄、私有組江醇、登錄Shell等內(nèi)容濒憋。基本語法格式如下:
usermod [參數(shù)] 用戶名
主要參數(shù)如下所示:
參數(shù) | 功能 |
---|---|
-d [目錄] | 修改用戶登入時候的目錄 |
-e [天數(shù)] | 修改賬號的有效期限 |
-g [群組] | 修改用戶所屬的群組 |
-l [登錄名] | 變更用戶登錄時的名稱 |
-l [密碼] | 修改用戶密碼 |
-s [shell] | 指定用戶登錄的Shell陶夜,如果不設(shè)置凛驮,則選用系統(tǒng)預(yù)設(shè)的Shell |
需要注意的是,最好不要使用usermod命令修改用戶密碼条辟。因為如果使用該命令黔夭,則顯示在文件/etc/shadow中的密碼是明文密碼宏胯,推薦使用passwd命令修改密碼。
示例
刪除用戶-userdel
userdel命令比較簡單本姥,只有一個參數(shù)-r肩袍,如果在使用userdel時添加該參數(shù),則刪除用戶時婚惫,會將/home目錄下的該用戶目錄和文件一并刪除氛赐。
示例
修改密碼-passwd
passwd的語法格式如下所示:
passwd [參數(shù)] [用戶名]
主要參數(shù)如下所示:
參數(shù) | 功能 |
---|---|
-l | 鎖定用戶,即禁止使用該賬號 |
-u | 用戶口令解鎖 |
-d | 關(guān)閉用戶的密碼確認(rèn)功能辰妙,在用戶登錄時可以不用輸入密碼鹰祸,只有具備root權(quán)限的用戶才能使用 |
-f | 強制用戶下次登錄時修改密碼 |
示例
用戶組常用命令
用戶組就是具有相同特征的用戶集合甫窟。用戶和用戶組的關(guān)系是多對多的密浑,即一個用戶可以屬于多個用戶組,而用戶組也可以包含多個用戶粗井。在Linux中每個文件都有一個用戶組尔破,當(dāng)創(chuàng)建一個文件或目錄時,系統(tǒng)會賦予其一個用戶組關(guān)系浇衬。
??Linux中用戶組管理的常用命令有:
- groupadd:添加用戶組
- groupmod:修改用戶組
- groupdel:刪除用戶組
添加用戶組-groupadd
groupadd可指定用戶組名稱來新建用戶組懒构。其語法格式如下所示:
groupadd [參數(shù)] [用戶組名稱]
參數(shù) | 功能 |
---|---|
-g GID | 除非使用參數(shù) -o,否則GID值必須唯一且數(shù)值不可以為負 |
-o GID | 運行GID不唯一 |
-r | 加入組GID號耘擂,且GID號低于499系統(tǒng)賬號 |
示例
如果使用groupadd命令時不設(shè)置GID號胆剧,如下所示:
groupadd TestGroup
則在系統(tǒng)中新建用戶組TestGroup,新組的標(biāo)識GID則在當(dāng)前最大組標(biāo)識的基礎(chǔ)上加1
修改用戶組-groupmod
groupmod可用來修改當(dāng)前用戶組的名稱醉冤,語法格式如下所示:
groupmod [參數(shù)] [用戶組名稱]
參數(shù) | 功能 |
---|---|
-g GID | 修改為新的GID |
-o GID | 重復(fù)使用GID |
-n | 修改用戶組名稱 |
示例
刪除用戶組-groupdel
groupdel是用來刪除已有的用戶組秩霍,其語法格式如下所示:
groupdel [用戶組名稱]
groupdel命令使用比較簡單,有一點需要注意的是蚁阳,如果該用戶組包含有一些用戶铃绒,則必須先刪除這些用戶,才能刪除該用戶組螺捐。