Linux_使用者、組及許可權管理
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"
注意:新建使用者"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"。
轉載於:https://blog.51cto.com/wangtianci/1749443