复习Linux基础操作---权限操作
shell命令以及運行原理
Linux嚴格意義上說的是一個操作系統,我們稱之為“核心(kernel)“ ,但我們一般用戶,不能直接使用kernel。而是通過kernel的“外殼”程序,也就是所謂的shell,來與kernel溝通。如何理解?為什么不能直接使用kernel?
從技術角度,Shell的最簡單定義:命令行解釋器(command Interpreter)主要包含:
對比windows GUI,我們操作windows 不是直接操作windows內核,而是通過圖形接口,點擊,從而完成我們的操作(比如進入D盤的操作,我們通常是雙擊D盤盤符.或者運行起來一個應用程序)。
shell 對于Linux,有相同的作用,主要是對我們的指令進行解析,解析指令給Linux內核。反饋結果在通過內核運行出結果,通過shell解析給用戶。
Linux系統下的權限
Linux下有兩種用戶:超級用戶(root)、普通用戶。
- 超級用戶:可以再linux系統下做任何事情,不受限制
- 普通用戶:在linux下做有限的事情。
超級用戶的命令提示符是“#”,普通用戶的命令提示符是“$”。
命令:su [用戶名]
功能:切換用戶。
例如,要從root用戶切換到普通用戶user,則使用 su user。 要從普通用戶user切換到root用戶則使用 su root(root可以省略),此時系統會提示輸入root用戶的口令。
Linux權限管理
文件訪問者的分類
- 文件和文件目錄的所有者:u—User
- 文件和文件目錄的所有者所在的組的用戶:g—Group
- 其它用戶:o—Others
文件類型和訪問權限
第一組:rwx表示文件的擁有者的權限
第二組rwx表示的是文件擁有者同組的用戶的權限
第三組rwx表示的是其他用戶的權限
在Linux其實還有一個特殊用戶,凌駕于權限體系之上root
文件類型
- d:文件夾
- -:普通文件
- l:軟鏈接(類似Windows的快捷方式)
- b:塊設備文件(例如硬盤、光驅等)
- p:管道文件
- c:字符設備文件(例如屏幕等串口設備)
- s:套接口文件
基本權限
文件權限值
- 字符表示
| r– | 只讀 |
| –x | 僅可執行 |
| -wx | 可寫可執行 |
| rwx | 可讀可寫可執行 |
| -w- | 僅可寫 |
| rw- | 可讀可寫 |
| r-x | 可讀可寫可執行 |
| — | 無權限 |
- 8進制數值表示
| r | 4 |
| w | 2 |
| x | 1 |
| rw | 6 |
| rx | 5 |
| wx | 3 |
| rwx | 7 |
| — | 0 |
設置和修改權限
chmod
功能:設置文件的訪問權限
格式:chmod [參數] 權限 文件名
常用選項:
R -> 遞歸修改目錄文件的權限
說明:只有文件的擁有者和root才可以改變文件的權限
chmod命令權限值的格式
- +:向權限范圍增加權限代號所表示的權限
- -:向權限范圍取消權限代號所表示的權限
- =:向權限范圍賦予權限代號所表示的權限
- 用戶符號:
- u:擁有者
- g:擁有者同組用
- o:其它用戶
- a:所有用戶
chmod[三位八進制數字數字]修改權限
所謂的執行條件,但是不是充要條件
必須得文件滿足系統可執行得格式要求才是真的能執行,平時敲得得大部分指令,都是可執行程序。
whereis
能夠找到某個指令對應的可執行程序路徑
chown
功能:修改文件的擁有者
格式:chown [參數] 用戶名 文件名
chgrp
功能:修改文件或目錄的所屬組
格式:chgrp [參數] 用戶組名 文件名
常用選項:-R 遞歸修改文件或目錄的所屬組
umask
功能:
- 查看或修改文件掩碼
- 新建文件夾默認權限=0666
- 新建目錄默認權限=0777
- 但實際上你所創建的文件和目錄,看到的權限往往不是上面這個值。原因就是創建文件或目錄的時候還要受到umask的影響。假設默認權限是mask,則實際創建的出來的文件權限是: mask & ~umask
格式:umask 權限值
說明:將現有的存取權限減去權限掩碼后,即可產生建立文件時預設權限。超級用戶默認掩碼值為0022,普通用戶默認為0002。
file指令:
功能說明:辨識文件類型。
語法:file [選項] 文件或目錄…
常用選項:
- -c 詳細顯示指令執行過程,便于排錯或分析程序執行的情形。
- -z 嘗試去解讀壓縮文件的內容。
目錄的權限
- 可執行權限: 如果目錄沒有可執行權限, 則無法cd到目錄中.
- 可讀權限: 如果目錄沒有可讀權限, 則無法用ls等命令查看目錄中的文件內容.
- 可寫權限: 如果目錄沒有可寫權限, 則無法在目錄中創建文件, 也無法在目錄中刪除文件
問題
只要用戶具有目錄的寫權限, 用戶就可以刪除目錄中的文件, 而不論這個用戶是否有這個文件的寫權限.
這是不科學的,比如A和B都在一個目錄下寫文件,A寫的文件B每權限訪問,但是B擁有整個目錄的寫權限,那么B就可以改A的文件,這是不合理的
解決方法:粘滯位
粘滯位
當一個目錄被設置為"粘滯位"(用chmod +t),則該目錄下的文件只能由
總結
- 目錄的可執行權限是表示你可否在目錄下執行命令。
- 如果目錄沒有-x權限,則無法對目錄執行任何命令,甚至無法cd 進入目, 即使目錄仍然有-r 讀權限
- 而如果目錄具有-x權限,但沒有-r權限,則用戶可以執行命令,可以cd進入目錄。但由于沒有目錄的讀權限,所以在目錄下,即使可以執行ls命令,但仍然沒有權限讀出目錄下的文檔。
對于普通文件來說
對于目錄文件
- 讀意味著能夠修改目錄中包含哪些文件和目錄
- 寫意味著能夠修改目錄中包含的內容(新增文件/刪除文件)
- 執行意味著能夠進入到目錄中(cd)
總結
以上是生活随笔為你收集整理的复习Linux基础操作---权限操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 男性不育的人多吃好一些
- 下一篇: linux 编译3g驱动_linux下使