我正在 Dell OS10(Debian Stretch under the hood)上进行一些逆向工程,因为我认为它的工作原理真的很酷,而且我正在查看负责创建桥梁的文件之一。我想用它来测试我认为来自上面的命令流是如何工作的,但即使作为 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
问题是 - 为什么该文件是只读的?
答案1
检查/proc/mounts
以查看文件系统的实际安装选项。
lvs
仅讲述 LVM 层:即使 LV 已在可写模式下激活,如果需要,仍然可以以只读模式挂载文件系统。
该文件也可能在文件系统中被标记为“不可变” - 请参阅lsattr /alt/opt/dell/os10/lib/python/dn_base_br_tool.py
。