在Linux上写入“ application / octet-stream”文件

问题描述 投票:0回答:1

我正在研究应阻止某些USB设备的应用程序。我找到了一种方法来阻止。问题是,因为它写在这里https://www.kernel.org/doc/Documentation/usb/authorization.txt,所以我需要在/ sys / bus / usb / drivers_probe文件中写入一些字符串。提到的文件是application / octet-stream,我找不到如何读写此文件的方法。我已经尝试使用sudo或root身份尝试过vim,echo,hexdump,但是每次我收到“权限被拒绝”或“没有此类设备”的消息时。我没有在我的应用程序使用的C / C ++中尝试过,但是我想它会带来相同的结果。谁能帮助我了解内核开发人员如何写该文件?

linux linux-kernel permission-denied
1个回答
0
投票

如果收到“拒绝权限”,则表示您没有使用root特权打开文件:

$ sudo echo 4-1 > /sys/bus/usb/drivers_probe
bash: /sys/bus/usb/drivers_probe: Permission denied

$ echo 4-1 | sudo tee /sys/bus/usb/drivers_probe > /dev/null
(no error)

如果收到“没有此类设备”,则表示您输入的字符串错误:

$ echo 'foobar' | sudo tee /sys/bus/usb/drivers_probe > /dev/null
tee: /sys/bus/usb/drivers_probe: No such device

$ echo '3-1.3.1:1.3' | sudo tee /sys/bus/usb/drivers_probe > /dev/null
(no error)
© www.soinside.com 2019 - 2024. All rights reserved.