linux 賬號權限管理

賬號管理

linux權限管理嚴格,這也是其安全的保證,對文件、目錄分爲主、組、其他三級權限控制,其中/etc/passwd,/etc/group,/etc/shadow文件分別存儲了賬號,組,密碼詳情。

關於組
#創建組號
groupadd web 
#創建組號時指定gid
groupadd -g 5 web

每個組有唯一的gid,我們通過cat /etc/group看到其gid:

[root@localhost root]# cat /etc/group
root:x:0:root,pigfu
web:x:1:
admin:x:2:

可以看web組的gid是 1。
其內容用 來分割,依次表示:

  • 組名,不能重複;
  • 口令,即密碼,一般Linux系統的用戶組都沒有口令,用x表示;
  • 組標識號(gid),一個整數,被系統內部用來標識組,別稱GID,唯一的;
  • 是屬於這個組的所有用戶的列表,不同用戶之間用逗號(,)分隔。這個用戶組可能是用戶的主組,也可能是附加組。
關於賬號
#創建賬號
useradd -g web php
#創建賬號並指定附加組
useradd -g web –G admin,root php #通過-G指定php賬號的除了屬於組web還屬於root和admin

每個賬號有唯一的uid,我們通過cat /etc/passwd看到其uid:

[root@iZwz943yllm8g13xj9uu30Z lib64]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
php:x:1:2::/home/php:/bin/bash

可以看到php賬號的uid是1,組id是2。
內容解析如下:

1)"用戶名"是代表用戶賬號的字符串。

通常長度不超過8個字符,並且由大小寫字母和/或數字組成。登錄名中不能有冒號(😃,因爲冒號在這裏是分隔符。

爲了兼容起見,登錄名中最好不要包含點字符(.),並且不使用連字符(-)和加號(+)打頭。
2)“口令”一些系統中,存放着加密後的用戶口令字。

雖然這個字段存放的只是用戶口令的加密串,不是明文,但是由於/etc/passwd文件對所有用戶都可讀,所以這仍是一個安全隱患。因此,現在許多Linux 系統(如SVR4)都使用了shadow技術,把真正的加密後的用戶口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一個特殊的字符,例如“x”或者“*”。
3)“用戶標識號”是一個整數,系統內部用它來標識用戶。

一般情況下它與用戶名是一一對應的。如果幾個用戶名對應的用戶標識號是一樣的,系統內部將把它們視爲同一個用戶,但是它們可以有不同的口令、不同的主目錄以及不同的登錄Shell等。

通常用戶標識號的取值範圍是0~65 535。0是超級用戶root的標識號,1~99由系統保留,作爲管理賬號,普通用戶的標識號從100開始。在Linux系統中,這個界限是500。
4)“組標識號”字段記錄的是用戶所屬的用戶組。

它對應着/etc/group文件中的一條記錄。
5)“註釋性描述”字段記錄着用戶的一些個人情況。

例如用戶的真實姓名、電話、地址等,這個字段並沒有什麼實際的用途。在不同的Linux 系統中,這個字段的格式並沒有統一。在許多Linux系統中,這個字段存放的是一段任意的註釋性描述文字,用做finger命令的輸出。
6)“主目錄”,也就是用戶的起始工作目錄。

它是用戶在登錄到系統之後所處的目錄。在大多數系統中,各用戶的主目錄都被組織在同一個特定的目錄下,而用戶主目錄的名稱就是該用戶的登錄名。各用戶對自己的主目錄有讀、寫、執行(搜索)權限,其他用戶對此目錄的訪問權限則根據具體情況設置。
7)用戶登錄後,要啓動一個進程,負責將用戶的操作傳給內核,這個進程是用戶登錄到系統後運行的命令解釋器或某個特定的程序,即Shell。

Shell是用戶與Linux系統之間的接口。Linux的Shell有許多種,每種都有不同的特點。常用的有sh(Bourne Shell), csh(C Shell), ksh(Korn Shell), tcsh(TENEX/TOPS-20 type C Shell), bash(Bourne Again Shell)等。

系統管理員可以根據系統情況和用戶習慣爲用戶指定某個Shell。如果不指定Shell,那麼系統使用sh爲默認的登錄Shell,即這個字段的值爲/bin/sh。

用戶的登錄Shell也可以指定爲某個特定的程序(此程序不是一個命令解釋器)。

利用這一特點,我們可以限制用戶只能運行指定的應用程序,在該應用程序運行結束後,用戶就自動退出了系統。有些Linux 系統要求只有那些在系統中登記了的程序才能出現在這個字段中。
8)系統中有一類用戶稱爲僞用戶(pseudo users)。

這些用戶在/etc/passwd文件中也佔有一條記錄,但是不能登錄,因爲它們的登錄Shell爲空。它們的存在主要是方便系統管理,滿足相應的系統進程對文件屬主的要求。
常見的僞用戶如下所示:

#僞 用 戶 含 義 
bin 擁有可執行的用戶命令文件 
sys 擁有系統文件 
adm 擁有帳戶文件 
uucp UUCP使用 
lp lp或lpd子系統使用 
nobody NFS使用
關於密碼
#如果當前登錄用戶是php
$ passwd
Old password:****** 
New password:******* 
Re-enter new password:*******
#如果當前登錄用戶是root等超級管理員
$ passwd php
New password:******* 
Re-enter new password:*******

文件目錄權限管理

主要用到兩個shell命令:chmod和chown

前者修改文件目錄讀寫權限:
7=4+2+1=r+w+x

chmod 755 index.php

後者用於修改文件目錄屬組屬主:

chown php:web index.php

參考

【1】菜鳥linux賬號權限管理
【2】菜鳥linux命令大全

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章