无法使用自定义程序获得调试文件夹的权限

无法使用自定义程序获得调试文件夹的权限

我正在 kali Linux 上运行一个程序。该程序使用 Openssl 和其他一些网络库。当我尝试运行该程序时,我得到以下输出:

Failed to open /sys/kernel/debug/ieee80211/phy6/ath9k_htc/inject_noack for writing
Failed to open /sys/kernel/debug/ieee80211/phy14/ath9k_htc/inject_noack for writing
Testing ACK generation...
Failed to open /sys/kernel/debug/ieee80211/phy6/ath9k_htc/macaddr for writing
Failed to open /sys/kernel/debug/ieee80211/phy6/ath9k_htc/bssidmask for writing

当我意识到这个错误时,我检查了Failed to open /sys/kernel/debug/ieee80211/phy6文件夹是否存在,但全是空的。我尝试运行chmod 777以使其余部分可用,即使具有 root 权限。

那么这些文件夹仅用于记录调试信息?如果是这样,我可以在使用该目录的程序中注释掉吗?

为什么/sys/kernel/debug/ieee80211/phy6/ phy1,phy14,phy15,phy16都是空的。如果这些文件夹用于记录调试信息,我不明白为什么开发人员努力使用一个没有内核权限就无法访问的文件夹。

即使具有 root 权限,我也无法在这些文件夹下创建目录。解决方案是什么?程序使用这些甚至无法用root打开/编辑的调试文件夹是否很常见?

┌──(root㉿kali)-[/sys/kernel/debug/ieee80211/phy14]
└─# chmod 777 /sys/kernel/debug/ieee80211/phy6/                                                                                                                                                                                            

┌──(root㉿kali)-[/sys/kernel/debug/ieee80211/phy14]
└─# mkdir ath9k_htc          

更新:

随着chmod我得到

┌──(root㉿kali)-[/sys/kernel]
└─# sudo chmod 777 -R debug
chmod: changing permissions of 'debug/tracing': Operation not permitted

内核版本:

┌──(root㉿kali)-[/sys/kernel]
└─# uname -r                                                                                                                                                                                                                               
6.5.0-kali3-amd64

安装后出现此错误:

┌──(root㉿kali)-[/home/kali/Desktop]
└─# cd drivers && make defconfig-ath9k-debug                                                                                                                                                                                               
/--------------
| Your kernel headers are incomplete/not installed.
| Please install kernel headers, including a .config
| file or use the KLIB/KLIB_BUILD make variables to
| set the kernel to build against, e.g.
|   make KLIB=/lib/modules/3.1.7/
| to compile/install for the installed kernel 3.1.7
| (that isn't currently running.)
\--
make: *** [Makefile:41: defconfig-ath9k-debug] Error 1

答案1

那么这些文件夹仅用于记录调试信息?如果是这样,我可以在使用该目录的程序中注释掉吗?

不,这些不是实际的文件夹实际的其中的文件。它们只是一个内核 API:读取和/或写入这些文件会导致内核中发生特定的事情;并且:对这些文件和目录可以进行哪些操作由内核定义。所以,你的chmod似乎没有效果,因为那里什么也没有。

相关内容