CentOS VPS新手教程(2)用戶及權限
當成功以root用戶登錄服務器後,下一步就要為你的服務器創建一些非超級管理員的普通用戶。
為什麼不只使用root用戶來管理VPS
由於root用戶在linux下權限最大,它可以隨意修改文件系統中的任意文件(當然包括刪除文件),這會使以root運行的程序有極高的風險性。
我們可以通過創建不同的用戶,使他們擁有對於不同文件、程序具有不同的操作權限來避免系統由於某用戶的權限過大而造成一些不必要的麻煩,使得系統中的文件與程序都是井井有條的。
用戶與組
在Linux中用戶與組是兩個相關的概念。一個組由多個用戶組成,而一個用戶可以屬於多個組。由於對於單一用戶的管理太過復雜,通常存在很多個用戶擁有相似或重復的用戶權限、或者他們可以共用某個目錄,我們可以通過管理組來批量的管理從屬於這個組的用戶所具有的權限。
如何管理用戶
創建或刪除用戶必須以root權限運行。
創建用戶
例如,創建一個名為scott的用戶
1
# useradd scott
為新創建的用戶設置密碼
1. root為其添加
1
# passwd scott
2. 用戶自己初始化密碼
1
$ passwd
刪除用戶
例如,刪除名為scott的用戶
1
# userdel scott
刪除用戶的同時,刪除屬於他目錄下的檔案
1
# userdel -r scott
查看所有用戶
所有的用戶都寫入了/etc/passwd文件中,可以通過顯示該文件來顯示所有的用戶
1
# cat /etc/passwd
在第一個冒號前的就是用戶名。
如何管理組
創建組
例如,創建一個名為group_name的組
1
# groupadd group_name
同時,也可以在創建用戶的同時為其分配組
例如創建scottde的同時分配他到group_name組中
1
# useradd scott -G group_name
如果不加組參數,系統將默認為其分配一個和其名字相同的組(在上述例子中就為scott分配進了scott組裡)。
刪除組
例如,刪除名為group_name的組
1
# groupdel group_name
用戶與組的權限
在Linux系統中,任何一個文件、文件夾都指定了用戶、用戶組對其相關的權限。
通過如下命令能顯示/usr路徑下的文件與文件夾的權限設置
1
# ls -l /usr
部分返回結果如下,
1
總計 140
2
drwxr-xr-x 3 root root 20480 06-22 15:44 bin
3
drwxr-xr-x 2 root root 4096 2011-05-11 etc
4
drwxr-xr-x 2 root root 4096 2011-05-11 games
最前面那段就是該文件的權限屬性。其中第一個字符d表示是文件夾;如果為-,就表示為文件。後面的9個字符分別代表了三種用戶對於該文件的權限。
我們可以把後面的9個字符拆成三部分看rwx r-x r-x。這三部分分別指代了所屬用戶(這裡是root)、所屬組用戶(這裡是root,第二個root)以及其他用戶對於文件的讀、寫、執行權限。
可以直觀地看出r指代讀權限、w指代寫權限、x指代執行權限。但它們被-所替換時就表示不具備這個權限。
給文件分配權限
例如,我們要給某文件readme.txt分配權限:所屬用戶具有讀、寫、執行權限,所屬組具有讀、寫權限,其他用戶沒有權限。
1
# chmod 760 readme.txt
上述的三位數字分別對應所屬用戶、所屬組、其他用戶的權限。它是這麼算出來的,
1
7=111B
2
6=110B
3
0=000B
也就是說分別對應rwx取值二進制對應的十進制數。
如果僅僅是簡單的授予、剝奪某個權限,可以使用下面的,
例如,給所屬用戶添加讀、寫權限,
1
# chmod u+rw readme.txt
u表示所屬用戶(user),對應的g表示所屬組(group),o表示其他用戶(other)
+代表授予,對應的-表示剝奪。
rw就表示讀寫權限。