第七節課:檔案的各種許可權以及linux分割槽命名規則
筆記
(借鑑請改動)
5.3:檔案特殊許可權
SUID 臨時擁有檔案所有者的許可權(基本上只是執行許可權)
SGID 臨時擁有檔案所有組的許可權,在目錄中建立檔案自動繼承該目錄的使用者組。
SBIT 粘滯位,也稱保護位,為了不讓其他使用者私自修改內容。(讓使用者只能刪除自己的內容)
chmod //設定檔案或目錄的許可權。chmod 【引數】許可權 檔案或目錄
-R //遞迴操作 -f //忽略錯誤
例:chmod -Rf 777 /etc/fstab //給予777許可權
chmod u+s /etc/fstab 新增suid許可權
chmod u-s /etc/fstab 去掉suid許可權
chmod g+s /etc/fstab 新增sgid許可權
chmod g-s /etc/fstab 去掉sgid許可權
chmod o+t test 新增sbit許可權
chmod o-t test 去掉sbit許可權
chmod -Rf 0777 /tmp 前面的0為特殊許可權,suid=4,sgid=2,sbit=1
u為使用者 g為組 其他使用者為o -a代表所有人,也可單獨授權:
例:chmod u+x /etc/fstab 授予所有者執行許可權
chown 設定檔案或目錄的所有者或所有組屬性。chown 【引數】 所有者:所有組 檔案或目錄
-R //遞迴操作 -f //忽略錯誤
例:chown linuxprobe:root test 把test所有者改為linuxprobe,所有組為root
如果rwxrwxrwx後面的s或者t是小寫則代表原先有許可權,大寫就代表原先沒有許可權
以上t代表其他使用者原先擁有執行許可權
5.4:檔案的隱藏屬性
chattr 設定檔案的隱藏屬性。chattr 【引數】 檔案,若想加隱藏引數,直接 “+引數” ,去掉隱藏許可權 “-引數” 即可。
i //無法對檔案進行修改,僅能修改子檔案,不能建立和刪除 a //僅允許補充(追加)內容,無法覆蓋和刪除
S //檔案變更後立即同步硬碟 s //徹底從硬碟刪除不可恢復
A //不再修改最後訪問時間 b //不再修改存取時間
D //檢查壓縮檔案中的錯誤 d //dump備份時忽略本檔案
c //預設將檔案或目錄進行壓縮 u //當刪除時依然保留硬碟資料,方便以後恢復
t //讓檔案系統支援尾部合併 X // 可直接訪問壓縮檔案中的內容
lsattr 用於顯示檔案的隱藏許可權。lsattr 【引數】 檔案
a // 顯示所有的檔案和目錄 l //顯示隱藏屬性的全稱,預設顯示簡稱一個字母
R //遞迴處理 d //若目標為目錄,請加此引數
5.5:檔案訪問控制列表
一般許可權,特殊許可權,隱藏許可權對所有使用者有效,所以引入針某一使用者或使用者組設定許可權的ACL
setfacl 管理設定檔案的ACL規則 setfacl 【引數】 檔案
-R //目錄遞迴處理 -m // 針對普通檔案
-b //刪除ACL規則引數
u是對使用者的指定,g是對組的指定
例:setfacl -Rm u:linuxprobe:rwx /root 讓使用者linuxprobe對/root有rwx許可權
setfacl -Rm g:linuxprobe:rwx /root 讓使用者組linuxprobe的使用者對/root具有rwx許可權
getfacl 用來檢視ACL資訊 。 getfacl 檔名稱
最後的(.)變成(+)代表有facl許可權
5.6:su命令與sudo服務
su命令可以解決切換使用者身份的需求,使得當前使用者在不退出登入的情況下,順暢地切換到其他使用者。
例:su - linuxprobe
su命令與使用者名稱之間有個減號(-),是完全切換到新的使用者,環境變數資訊也變更為新使用者的相應資訊,強烈建議在切換使用者身份時新增這個減號(-)。
root使用者切換其他使用者不用驗證,其他使用者切換到root使用者需要驗證
su命令會暴露root密碼,所以引入sudo
sudo 給普通使用者提供額外的許可權來完成原本root管理員才能完成的任務。sudo 【引數】 命令
-h //列出幫助資訊 -l //列出當前使用者可執行的命令
-u 使用者名稱或UID值 // 以指定的使用者身份執行命令 -b //在後臺執行指定的命令
-k //清空密碼的有效時間,下次執行sudo時需要再次進行密碼驗證
-p //更改詢問密碼的提示語
sudo的功能:
1、限制使用者執行指定的命令:
2、記錄使用者執行的每一條命令;
3、配置檔案(/etc/sudoers)提供集中的使用者管理、許可權與主機等引數;
4、驗證密碼的後5分鐘內(預設值)無須再讓使用者再次驗證密碼。
vim /etc/sudoers sudo配置檔案,但有錯不會提醒,建議使用visudo
誰可使用 允許的主機 = (以誰的身份) 可執行的命令列表
例:linuxprobe ALL=(ALL) /usr/bin/cat
第六章
6.1一切從“/”開始(FHS結構)
linux中的一切檔案都是從“根(/)”開始的
linu中的常見目錄:
/boot //開機所需檔案—核心、開機選單以及所需配置檔案等
*/dev //以檔案形式存放任何裝置與介面
*/etc //配置檔案
/home //普通使用者家目錄
/bin //存放單使用者模式下還可以操作的命令
/lib //開機時用到的函式庫,以及/bin與/sbin下面的命令要呼叫的函式
/sbin //開機過程中需要的命令
*/media //用於掛載裝置檔案的目錄
/opt //放置第三方的軟體
*/root //系統管理員的家目錄
/srv //一些網路服務的資料檔案目錄
/tmp //任何人均可使用的“共享”臨時目錄
/proc // 虛擬檔案系統,例如系統核心、程序、外部裝置及網路狀態等(只是執行狀態,不是真實的資料)
/usr/local //使用者自行安裝的軟體
/usr/sbin //Linux系統開機時不會使用到的軟體/命令/指令碼
/usr/share //幫助與說明檔案,也可放置共享檔案
/var //主要存放經常變化的檔案,如日誌
/lost+found // 當檔案系統發生錯誤時,將一些丟失的檔案片段存放在這裡
上述加星號的新手需優先記住。
bin或sbin都是儲存程式檔案的目錄
絕對路徑:是從根目錄(/)開始的目錄或檔案
相對路徑:是相對於當前路徑的寫法
6.2、物理裝置的命名規則
IDE裝置 /dev/hd[a-d] //已經很少見
SCSI/SATA/U盤 /dev/sd[a-p] //常見的裝置
軟碟機 /dev/fd[0-1]
印表機 /dev/lp[0-15]
光碟機 /dev/cdrom //光碟機一般以/dev/sr0,/dev/sr1......命名
滑鼠 /dev/mouse
磁帶機 /dev/st0或/dev/ht0
常見的 /dev/sd 開頭裝置
由a-p來代表16塊不同的硬碟,預設從a開始,由核心的識別順序來決定,識別的第一塊為/dev/sda,第二塊/dev/sdb ......
主分割槽或擴充套件分割槽編號從1開始至4結束
邏輯分割槽從5開始
分割槽編號只是編號,不是指第幾個分割槽,例如/dev/sdb3 只是指第二塊硬碟編號為3的主分割槽
在硬碟分割槽中,由於第一扇區位元組容量問題(512位元組),主引導記錄(446位元組),結束符(2位元組),每個分割槽(16位元組)
以上情況導致只能劃分四個分割槽,實際中卻可能需要超過的4個分割槽
為解決上述問題,需要最後16位元組指向另外的分割槽,來實現劃分多於4個分割槽。這就是擴充套件分割槽。
擴充套件分割槽不是確切的分割槽,可以說是一個指標,指向另外的分割槽,在擴充套件分割槽中可以劃分邏輯分割槽。
例如:/dev/sdb8就是第二塊硬碟中的邏輯分割槽
(借鑑請改動)
複習:第五章的許可權,第六章的FHS目錄結構
預習:預習第六章和第七章7.1