Linux許可權

weixin_34344677發表於2013-09-01

 

組許可權:

groups 檢視當前登入使用者的組內成員
groups gliethttp 檢視gliethttp使用者所在的組,以及組內成員
whoami 檢視當前登入使用者名稱

/etc/group檔案包含所有組
/etc/shadow和/etc/passwd系統存在的所有使用者名稱

1、/etc/group 解說;

/etc/group 檔案是使用者組的配置檔案,內容包括使用者和使用者組,並且能顯示出使用者是歸屬哪個使用者組或哪幾個使用者組,因為一個使用者可以歸屬一個或多個不同的使用者組;同一用 戶組的使用者之間具有相似的特徵。比如我們把某一使用者加入到root使用者組,那麼這個使用者就可以瀏覽root使用者家目錄的檔案,如果root使用者把某個檔案 的讀寫執行許可權開放,root使用者組的所有使用者都可以修改此檔案,如果是可執行的檔案(比如指令碼),root使用者組的使用者也是可以執行的;

使用者組的特性在系統管理中為系統管理員提供了極大的方便,但安全性也是值得關注的,如某個使用者下有對系統管理有最重要的內容,最好讓使用者擁有獨立的使用者組,或者是把使用者下的檔案的許可權設定為完全私有;另外root使用者組一般不要輕易把普通使用者加入進去,

2、/etc/group 內容具體分析

/etc/group 的內容包括使用者組(Group)、使用者組口令、GID及該使用者組所包含的使用者(User),每個使用者組一條記錄;格式如下:

group_name:passwd:GID:user_list

在/etc/group 中的每條記錄分四個欄位:

第一欄位:使用者組名稱;

第二欄位:使用者組密碼;

第三欄位:GID

第四欄位:使用者列表,每個使用者之間用,號分割;本欄位可以為空;如果欄位為空表示使用者組為GID的使用者名稱。

 

1. 首先了解一個ls -l 檔案的每列含義
[root@zhs-pc ~]# ls -l a  
-rw-r--rw-  1 test002 tester 279103  9月  2 13:21 a
下面介紹每列含義:
(1)第一列:檔案型別和許可權,這部分稍後重點介紹,見後*001。
(2)第二列:檔案硬連結數或目錄子目錄數,如果一個檔案不是目錄那麼這一欄位表示,這個檔案所具有的硬連結數;如果是一個目錄,則這個欄位表示該目錄所含子目錄的個數 (3)第三列:檔案的屬主,即檔案的所有者,有時候我們將一個檔案複製給另一使用者,要記得將檔案的屬主也要改變,否則可能會發生檔案許可權不對的錯誤。
(4)第四列:檔案的屬組,即檔案的所屬組,即在此組裡的使用者對檔案有擁有不同的許可權。
(5)第五列:檔案的大小,大小以位元組顯示。
(6)第六列:最近一次檔案內容的修改時間。
(7)第七列:檔案或者目錄名。  
*001  -rw-r--rw- 第一列為第一部分,代表了檔案的型別,檔案的型別主要有以下幾種:
(1)-表示是普通檔案
(2)d表示是目錄
(3)l表示是軟連結檔案
(4)b表示是塊裝置檔案,例如硬碟的儲存裝置等
(5)c表示是字元裝置檔案,如鍵盤等
(6)s表示是套接字檔案,此主要跟網路程式有關
(7)p表示是管道檔案 第二列至第十列為第二部分,這部分一共9列,每三列為一組,共分為三組,由左至右分別代表了屬主的許可權,屬組的許可權,其他人的許可權 test002(屬主)使用者對a檔案擁有可讀(r)可寫(w)許可權。 tester(屬組)組裡的使用者對a檔案擁有可讀許可權。 既不是test002使用者也不屬於tester組的使用者對檔案擁有可讀可寫許可權。

2.詳細解釋檔案和目錄的讀寫執行許可權

 

 

 知道:  

在linux裡面,目錄也是一個檔案。許可權設定方法與普通檔案一樣。
目錄的可執行許可權:目錄無所謂執行不執行,目錄只能否被開啟(也稱作“遍歷”或“搜尋”)
對目錄的執行許可權不僅意味著檢視目錄下檔名還允許檢視檔案的其它資訊如檔案大小、修改時間。

說的再詳細些就是這樣的
Linux的許可權不是很細緻,只有RWX三種
r(Read,讀取):對檔案而言,具有讀取檔案內容的許可權;對目錄來說,具有瀏覽目錄的許可權。
w(Write,寫入):對檔案而言,具有新增,修改,刪除檔案內容的許可權;對目錄來說,具有新建,刪除,修改,移動目錄內檔案的許可權。
x(eXecute,執行):對檔案而言,具有執行檔案的許可權;對目錄了來說該使用者具有進入目錄的許可權。
1、目錄的只讀訪問不允許使用cd進入目錄,必須要有執行的許可權才能進入
2、只有執行許可權只能進入目錄,不能看到目錄下的內容,要想看到目錄下的檔名和目錄名,需要可讀許可權。
3、一個檔案能不能被刪除,主要看該檔案所在的目錄對使用者是否具有寫許可權,如果目錄對使用者沒有寫許可權,則該目錄下的所有檔案都不能被刪除,檔案所有者除外
4、目錄的w位不設定,即使你擁有目錄種某檔案的w許可權也不能寫該檔案

如果對目錄沒有執行許可權,則無法cd進入這個目錄;但是如果你對目錄中的檔案有操作許可權的話,還是可以直接操作目錄中的檔案的。 

 

將使用者新增到sudoer列表

預設情況下,linux沒有將當前使用者列入到sudoer列表中(在redhat系列的linux發行版中最為常見),這時如果你使用sudo來執行某些命令的話,就會提示你該使用者不再sudoer列表中。這時,我們就需要手工加入了。

1.在命令列下鍵入:$su ,並輸入root賬戶的密碼,切換到root賬戶,其中的$是命令提示符,不用你敲

2.命令列鍵入:#vi /etc/sudoers,就會開啟sudo的配置檔案。

在linux下任何的配置檔案都是以文字檔案儲存,即你可以使用vim來開啟sudo的配置檔案,但是不建議這麼做,因為你visudo是linux提供的修改sudo配置檔案的工具,與vim比起來,它會提供更多的提示資訊和糾錯能力。

3.與用vim編輯文字檔案一樣,我們搜尋root關鍵字,所以在開啟的檔案中輸入 /root

4.按鍵盤上的 n 鍵,會自動跳到下一個root的關鍵字,一直跳到這句話:

## Allow root to run any commands anywhere
root ALL=(ALL) ALL

這時,繼續按n鍵,游標會出現在root ALL=(ALL) ALL中的root上

5.輸入 yyp 並回車,這是vim中的兩個命令。yy表示複製當前行,p表示將複製的內容貼上到下一行,所以輸入該命令後原來的文字變為如下:

## Allow root to run any commands anywhere
root ALL=(ALL) ALL
root ALL=(ALL) ALL

6.按 j 鍵,游標會跳到第二個root ALL=(ALL) ALL這一行上,再按數字0鍵,讓游標回到行首,這時按4下 x 鍵,刪除這一行的root這四個字母。然後按下 i 鍵,進入插入模式,輸入你的使用者名稱,比如我現在的使用者名稱為xin,則我輸入xin。輸入後原來的文字變為如下:

## Allow root to run any commands anywhere
root ALL=(ALL) ALL
xin ALL=(ALL) ALL

7.按下ESC鍵(鍵盤的左上角,在F1的左邊)推出插入模式,然後按下 :wq 三個字元退出並儲存當前配置檔案。

8.現在已經修改完成了,xin這個使用者已經加入到了sudoer的列表,你使用xin這個使用者執行sudo 命令時已經可以了。

相關文章