一:知識背景
linux\unix本身就是由無數個檔案組成的系統,允許多個使用者進行同時登入進行操作,這個時候檔案的許可權和安全就極為重要,網際網路安全紅線和隱私永遠是重點關注的地方。
本次筆記內
1. 檔案和目錄的許可權介紹
2. chmod\chown\chgrp
3.suid\guid\umask
4.符號連線
二:乾貨
2.1 檔案的目錄以及許可權
以這個檔案為例
total 20500:是該目錄所有檔案占用空間,沒有options就是以byte為單位
首字母是檔案型別:
d 目錄:大概就是dictionnary的縮寫,
s 套接字檔案 :我們平常以mysql和mysql -uuser -p password就是以socket鏈結,就是上圖的msyql.sock,本地登入。或者以tcp鏈結(mysql -h ip -u -p)
- 就是大家熟悉的普通檔案
-c 字元裝置檔案 -b block 塊裝置檔案 -p 命名管道檔案
檔案許可權:
rwx rwx rwx 分別對應的就是 對應的 read write execute 讀寫執行的許可權
mysql mysql 就是對應這個檔案的所有者(user)和 所屬群組(group),屬主和屬組
4096 檔案大小
dec 12 16 就是檔案修改的最後日期
mysql.sock就是檔名稱
2.2修改檔案許可權:
method1:
chmod 【who】operation permission filename
who:u:user屬主 g:group屬組,同組使用者 o:other 其他使用者
opration:加減許可權 + -
permission:許可權,r w x
例項:chomd u+x mysql.sock,增加mysql屬主的執行許可權
method2:
第二種方法被稱為絕對值法 也是大家最多使用的方法
rwx rwx rwx ,9位許可權位 有就代表為1 ,沒有就是為0,以二進位制的形式去表達 rwx r-- rwx 就是740,rwx rwx rwx 就是777
這個就是為什麼大家稱為 r為4 w為2 x為1的原因,還有部落格喜歡用八進位制表達,道理大概差不多
例項:chmod 777 mysql.sock 就是賦予mysql.scok檔案 rwx rwx rwx的許可權
method3:
chown 改變屬主
chown username filename
例項:chown linux mysql msyql檔案的屬主就是linux
chown user:group filename 可以同時改變屬主和屬組
chowm root:root mysql 可以同時修改mysql檔案的屬主和屬組
chown的多功能性導致chgrp命令的很少使用
chgrp groupname filename ,語法也是大概差不多
-r 這個選項很實用,能夠是賦權目錄下面所有子目錄檔案許可權發生改變,但是確實要謹慎使用
2.4 umask\suid\sgid
大家看到這裡,uid= id -ur (配置檔案定義的,沒有截圖出來)顯示使用者的id ,判斷是否大於199,id越小許可權越大,root的許可權為0,那麼 rmask為 002,大於199判斷 group id和 user id 是否相同,一致就為002,不一致就是022
使用者的umask 在/etc/profile可以看到,不同使用者的umask值標識建立使用者的預設許可權,也可以在/etc/passwd檢視使用者的許可權
suid/sgid 全稱set user id
suid意味著如果某個使用者對屬於自己的 s h e l l指令碼設定了這種許可權,那麼其他使用者在執行這一指令碼時也會具有其屬主的相應許可權。於是,如果根使用者的某乙個指令碼設定了這樣的許可權,
那麼其他普通使用者在執行它的期間也同樣具有根使用者的許可權。同樣的原則也適用於 sgid執行相應指令碼的使用者將具有該檔案所屬使用者組中使用者的許可權
比如大家都知道的ping命令 基於icmp協議的網路報文,許可權位就是rws ,所以在任何使用者都可以使用ping探測網路互通性
這麼好許可權位如何設定,suid是在相應的許可權位前一位設定為4,sgid同理為2,並且s將會出現在x的位置上面,記住:在設定 suid或sgid的同時,相應的
執行許可權位必須要被設定。例如,如果希望設定sgid,那麼必須要讓該使用者組具有執行許可權。
語法: ln -s sourcefile softlink_file ,在對符號鏈結操作時候,轉換為自動對原始檔操作。刪除軟鏈結不會刪除原始檔,只會中斷之間的關係 rm softlink_file
linux根目錄bin目錄就是指向/usr/bin,/bin檔案為軟鏈結檔案
Shell 檔案許可權
在linux中,檔案許可權是乙個很重要的屬性。因為linux是乙個認為使用者什麼都懂的多使用者多工作業系統,所以需要用許可權來控制不同使用者對不同檔案的訪問。許可權的表示方法 許可權有兩種表示方法 字母與數字 許可權數字 字母可讀4r 可寫2w可執行1x 檢視許可權 上圖中第一列第乙個字母代表著檔案...
Linux學習筆記之檔案許可權
檢視檔案所有屬性命令 ll rwx r 1 root root 第乙個 表示 這是普通檔案 如果是d,則表示為目錄 第一組許可權顯示 rwx 檔案擁有者擁有讀 寫 執行的許可權 u 第二組許可權顯示 r 檔案所屬組擁有度的許可權 g 第三組許可權顯示 讀 寫 執行都不具有 o 第乙個root表示檔案...
Linux入門筆記之檔案許可權(二)
linux 系統中採用三位十進位制數表示許可權,如0755,0644等等.abcd a 0,表示十進位制 b 使用者 c 組使用者 d 其他使用者 0 no excute no write no read x 1 excute,no write,no read w 2 write wx 3 writ...