Linux中的權限:在linux系統下,一切東西都可以看做是文件。針對一個文件而言,不同的用戶對它有不同的權限。試想一下,假如有一個系統的配置文件,普通用戶都可以對它進行修改,那么這將是多麼可怕的事情。所以,我們將根據不同的文件訪問者設置不同的權限。
在linux中,我們可以將文件的訪問者分為三類,針對這三類訪問者我們可以對他們設置不同的權限。
1、文件訪問者的分類:
文件和文件目錄的所有者:u(User)。
文件和文件目錄的所有者所在的組中的用戶:g(Group)。
其他用戶:o(Others)。
2、文件的基本權限。
讀(r):具有讀取文件內容的權限;對目錄來說,具有瀏覽目錄信息的權限。
寫(w):具有修改文件的權限;對目錄來說,具有刪除移動目錄內文件的權限。
執行(x):具有執行文件的權限,前提是文件必須可執行;對目錄來說,具有進入目錄的權限。
3、修改文件的權限
3.1、修改文件訪問權限
命令:chmod [參數] 權限 文件名
參數:R表示遞歸的修改目錄中所有文件的權限
v表示顯示整個修改過程
chmod命令有兩種修改文件權限的方法:
第一種:針對某一類訪問者設定權限,
命令格式:chmod 用戶表示符 +/-/= 文件權限 文件名
+表示為用戶增加文件權限,-表示取消用戶的權限,=表示賦予用戶這個權限。
用戶符號:u表示所有者,g表示所有者所在的組,o表示其他人,a表示所有人。
第二種方法就是使用三位數的八進制:
命令格式: chmod xxx(權限) 文件名
其中從左向右,第一個x表示屬主的權限,取值是0~7,0就表示”—”,7表示”rwx”。
第二個x表示屬組的權限,第三個x表示其他人的權限。
3.2、更改文件所有者
命令:chown [參數] 用戶名 文件名
參數:R表示遞歸的修改目錄中所有文件的所有者
v表示顯示整個修改過程
例1:
例2:
3.3、更改文件所有者所在的組
命令:chgrp [參數] 用戶名 文件名
參數:R表示遞歸的修改目錄中所有文件的所有者
v表示顯示整個修改過程
例1:
例2:
4、查看或修改文件掩碼
有沒有想過,當我們新創建一個文件或者目錄的時候,它的默認權限是什么?我們可不可以按照自己的意愿來設置呢?
linux中提供了umask這個命令來設置默認權限。除此之外,umask還可以查看文件掩碼。文件掩碼就跟子網掩碼是一樣的道理。
預設權限=存取權限-文件掩碼
超級用戶默認掩碼是0022,也就是生成文件后文件權限是:rwx r-x r-x。
普通用戶默認掩碼是0002,也就是生成文件后文件權限是:rwx rwx r-x。
命令格式:umask 權限值
例:設置文件掩碼0000,則新創建文件或目錄后的權限是rwxrwxrwx。
注意,不是上面的例子錯了,而是因為test文件是普通文件,不具備可執行的權限,所以在創建新文件的時候應該是:
例2:
二、權限粘滯位
1、為什么要有權限粘滯位
目錄的可執行權限:
目錄的可執行權限表示你是否可以在這個目錄下執行命令。如果目錄沒有x權限,則就無法對目錄執行任何命令,甚至無法cd進入目錄,即使你仍然對目錄有r權限。目錄的rw權限表示的是你可以對目錄里面的文件進行讀寫,因此對于任何訪問者而言,只要他對一個目錄有w權限,那么他就能刪除這個目錄里面的文件。
這樣的的話,那文件的權限是不是就成擺設了,只要對一個目錄有w權限的話,任何用戶都可以隨意刪除目錄里面的文件,針對linux這種多用戶的操作系統而言,這是我們絕對不允許的。因此linux里面通過權限粘滯位來解決這種情況。
2、什么是權限粘滯位
權限粘滯位是針對目錄而言的,當目錄被設置了權限粘滯位之后,即便用戶對該目錄有寫入權限,也不能刪除這個目錄中其他用戶的文件數據。而是只有該文件的所有者和root用戶才有權刪除。設置了權限粘滯位之后,就保持了一種平衡,允許各用戶在目錄中任意的寫入刪除數據,但是不能刪除其他用戶的數據。
設置了權限粘滯位的目錄,它的屬性中其他用戶的可執行權限x將會變成t。
3、怎么設置權限粘滯位
命令:chmod o+t 目錄名
例:
看文倉www.kanwencang.com網友整理上傳,為您提供最全的知識大全,期待您的分享,轉載請注明出處。
歡迎轉載:http://www.kanwencang.com/bangong/20170104/81432.html
文章列表