Linux

了解如何讀取 LVM 屬性和文件系統權限

  • April 12, 2021

我正在對 Dell OS10(引擎蓋下的 Debian Stretch)進行一些逆向工程,因為我認為它的工作方式非常酷,而且我正在查看負責創建橋接的文件之一。我想用它來測試我認為命令流是如何從上面工作的,但即使是 root,它也說它是只讀的:

"/alt/opt/dell/os10/lib/python/dn_base_br_tool.py" [readonly] 263 lines, 6785 characters
Press ENTER or type command to continue

所以我去檢查了掛載的權限:

root@OS10:/alt/opt/dell/os10/bin# df -P /alt/opt/dell/os10/lib/python/dn_base_br_tool.py | tail -1 | cut -d' ' -f 1
/dev/mapper/OS10-SYSROOT
root@OS10:/alt/opt/dell/os10/bin#
root@OS10:/alt/opt/dell/os10/bin# lvs
 LV      VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
 LICENSE OS10 -wi-ao---- 32.00m
 SYSROOT OS10 -wi-ao---- 13.50g

我去查了一下是什麼-wi-ao意思,並根據這個解釋。基於此,我看到以下內容

  • 屬性 2 = 可寫
  • 屬性 3 = 繼承
  • 屬性 5 = 活動量
  • 屬性 6 = 打開體積

我想也許可能有一個 ACL,但似乎也不是這樣:

root@OS10:/alt/opt/dell/os10/bin# ls -la /alt/opt/dell/os10/lib/python/dn_base_br_tool.py
-rw-r--r-- 1 root root 6785 Jun 16  2020 /alt/opt/dell/os10/lib/python/dn_base_br_tool.py

問題是 - 為什麼該文件是只讀的?

檢查/proc/mounts以查看文件系統的實際掛載選項。

lvs僅講述 LVM 層:即使 LV 已以可寫模式啟動,如果需要,仍然可以將文件系統掛載為只讀模式。

該文件也可能在文件系統中被標記為“不可變” - 請參閱lsattr /alt/opt/dell/os10/lib/python/dn_base_br_tool.py.

引用自:https://unix.stackexchange.com/questions/644641