Linux系統是一個多用戶、多任務的操作系統!所謂的多用戶是指多人同時使用系統資源、多任務則是指同時運行多個程序。
用戶分爲管理員和普通用戶,普通用戶又分爲系統用戶和登錄用戶。其中管理員的權限是最大的,管理員具有在有限資源的情況下給不同用戶分配資源,以及對不同用戶的監控、管理。系統用戶僅運行服務程序,而登錄用戶是系統資源的正常使用者
在不同的CentOS版本上每個用戶的用戶標識(UID)也是不一樣的。具有一定的限制。而管理員的UID是"0"。
如在,CentOS 5,6版本上 系統用戶的UID是1-499 普通用戶的UID是500+
CentOS 7.0版本上 系統用戶的UID是1-999 普通用戶的UID的1000+
實現用戶賬號的管理,要完成的工作主要有:用戶賬號的添加、修改、刪除、密碼管理、用戶組的管理……等等,下面將會介紹到這些!
一、用戶管理
用戶賬號的管理工作主要涉及到賬號的添加、修改和刪除。
1、添加新的用戶賬號使用"useradd"命令,常規選項如下。
-g:指定用戶的用戶組 -G:指定用戶的附加組
-c:註釋信息 -d:指定用戶的家目錄
-m:強制創建家目錄 -s:用戶登錄的Shell名
例:
如上圖所示,新建一個用戶"lweim",其登錄Shell名是"bin/ksh",主目錄是"/home/lweim";另一個新建用戶"slackware",其登錄Shell是"/bin/bash",主目錄是"/usr/slackware"
注意:新建用戶"useradd"後面加"-d"和不加"-d"或加"-s"和不加"-s"是不同的。不加"-d"則是系統默認的家目錄"/home/lweim"。加了"-d"則是指定的家目錄"/usr/slackware"
不加"-s"則是系統默認的登錄Shell,加"-s"則是指定的登錄Shell
2、如過一個賬號不在使用,可以從系統中刪除掉,刪除一個賬號要使用到"userdel"命令,常規選項如下。
-r:一併刪除家目錄
例:
由圖可知。在刪除用戶"wangtc"時沒有加"-r",其還有家目錄。
在刪除用戶"wangzix"時加了"-r",其家目錄一併刪除。
3.用戶的修改。就是修改用戶的相關屬性。如家目錄、用戶組、登錄Shell……等等,用戶修改要使用"usermod"命令,常規選項如下。
-c:註釋信息 d-:修改家目錄的位置
-s:修改登錄Shell名
例:
使用"usermod"命令後,用戶"lweim"的家目錄從"/home/lweim"變更成"/usr/lweim"。登錄Shell名從"/bin/ksh"變更成"/bin/bash"
4.密碼管理;
用戶管理的一項重要內容就是密碼管理,超級用戶(管理員)可以改變自己和其他用戶的密碼,普通用戶只能修改自己的密碼。其修改密碼需要用到"passwd"命令,常規選項如下;
-l:鎖定密碼 -u:解鎖密碼
-d:清除密碼
例:
二、用戶組管理
每一個用戶都有一個用戶組,也可以擁有多個附加組(即額外組)。用戶組的管理涉及到用戶組的添加、修改和刪除。
1、增加一個新的用戶組使用"groupadd"命令,常規選項如下;
-g:指定新用戶組的組標識號 -r:創建一個系統組
例:
第一條命令是創建了一個名爲"group1"的用戶組,其組標識號爲1001;
第二條命令是創建了一個名爲"group2"的系統組,其組標識號爲986;
2、修改用戶組的屬性使用"groupmod"命令,常規選項如下;
-g:爲用戶組指定一個新的組標識號 -n:爲用戶組改一個新名字
例:
此命令是將用戶組"group4"命名爲新的名字"group5",且用戶組標識號從"2223"變更成"3333"。
3、如果要刪除一個已有的用戶組,要使用"groupdel"命令。
例:
此用戶的命令是將用戶組"group5"刪除。
三、權限管理
Linux是一種典型的多用戶系統,不同的用戶處於不同的地位,也就具有不同的權限。每位用戶訪問同一文件或目錄的權限也就不同。
我們可以使用命令"ll"或"ls -l"來顯示一個文件或目錄的屬性及所屬的用戶和組。常規選項如下;
例:
實例中,目錄"etc"文件的第一個屬性用"d"來表示,"d"在Linux中代表該文件是一個目錄文件。其他屬性如下;
[-]:表示文件
[l]:表示爲鏈接文檔
[b]:表示爲裝置文件裏面的可供存儲的接口設備(可隨機存取裝置)
[c]:表示爲裝置文件裏面的串行端口設備,例如鍵盤、鼠標。
"",除去第一個字符"d",接下來的字符中,以三位爲一組,左三位是屬主的訪問權限(user)、中三位是屬組的所有用戶的訪問權限(group)、右三位是其他用戶的訪問權限(others)。且均爲[rwx]的三個參數組合。其中"r"代表可讀權限、"w"代表可寫權限、"x"代表可執行權限。"-"代表沒有任何權限。
注意:這三個權限的位置不會改變,且存在兩種狀態“要麼有權限(用1表示)、要麼沒權限(用0表示)”。八進制的數都是由三位二進制的數組成,如下;
---:000 0
--x:001 1
-w-:010 2
-wx:011 3
r--:100 4
r-x:101 5
rw-:110 6
rwx:111 7
目錄"etc"的權限是[rwxr-xr-x];
user=rwx=5 group=r-x=5 others=r-x=5
即目錄"etc"的權限可表示爲"755"
1、想要變更權限,有三種方法。都需要使用"chmod"命令,常規選項如下;
-R:進行遞歸的變更,即目錄本身和目錄以下的文件的權限會一同改變。
(方法1):使用"u=,g=,o=或ug=等等"的方法來改變權限!
例:
上圖所示,此命令使"etc"的權限從[rwxrwxr-x]變更成[rw-rw--x]。但是沒有更改目錄下的文件。想要更改連同目錄下文件的屬性一起更改,需要使用"-R"選項。如下圖
(方法二):使用"u+,g+,o+或ug+等等"的方法來改變權限!
例:由(方法1)中的圖所知目錄"etc"的權限是[drw-rw---x],現在想要變更權限爲[drwxrwxr-x],方法如下:
例:
由上圖可得,目錄本身即目錄下文件的權限都變更爲[drwxrwxr-x]
(方法三):上面說到,每一個權限都可以表達成一個八進制的數。例如"775"可表示權限爲[drwxrwxr-x]、664可表示權限爲[drw-rw-r--]。所以我們可以依據這個來改變目錄及文件的權限。如果想把文件及目錄的權限改爲770(drwxrwx---),則方法如下;
例:
圖中顯示目錄及目錄下的文件的權限都改變爲770.即[drwxrwx---];
注意:方法一和方法二中的"u="和"u+"是不同的。
"u="是某一組中的三位權限同時改變
"u+"是改變某一組中某一位的權限
例如:權限爲"r-x-wx---"
"u=r"則顯示爲[r---wx---]
"u+w"則顯示爲[rwx-wx---]
2、更改目錄或文件的屬組需要用到"chgrp"命令,常規選項如下。
-R:目錄下的所有文件的屬組一同改變。
例:
圖中顯示,目錄"etc"及目錄下所有文件的屬組都從"root"變更成"mageedu"
3、更改目錄或文件的屬主需要用到"chowm"命令,也可以同時更改目錄或文件的屬組。常規選項如下;
-R:目錄下的所有文件的屬組一同改變。
例:
圖中目錄"etc"及目錄下所有文件的屬主都從"root"變更成"wtc",屬組都從"mageedu"變更成"lweimin"。