Permission Denied 的解决方案是用 sudo。
但是,运行的程序是在普通用户底下安装的 Python,切换到 sudo 的话没有此 Python,需要重新搭建 Python 环境,所以 sudo 解决方案不太可能。
所以,另一种思路是,修改文件的权限为普通用户可读,比如这样:
chmod 755 /sys/firmware/dmi/tables/smbios_entry_point
chmod 755 /sys/firmware/dmi/tables/DMI
chmod 755 /dev/mem
程序跑完后,再复原文件权限:
chmod 400 /sys/firmware/dmi/tables/smbios_entry_point
chmod 400 /sys/firmware/dmi/tables/DMI
chmod 640 /dev/mem
顺便一提,查看文件数字权限的方式是:
stat -c "%a %n" *