Получить iSerial с lsusb без sudo

sysfs , файловая система, обычно монтируемая в / sys , представляет собой специальную виртуальную файловую систему для взаимодействия с ядром Linux.

Файлы в нем не являются настоящими файлами, они представляют собой структуры данных в ядре и поддерживают только довольно простые методы доступа. При чтении такого файла ядро ​​запрашивает информацию. Запись в такой файл указывает ядру изменить настройку или выполнить действие.

Вот почему vim не работает. Он пытается получить доступ к виртуальным файлам способами, оптимизированными для реальных файлов, и это не поддерживается в sysfs .

Ваша первая команда

root@demo:/# echo never > /sys/kernel/mm/transparent_hugepage/enabled

уже была успешной!

Многие «файлы» sysfs, включая / sys / kernel / mm / transparent_hugepage / enabled , не только печатают текущие настройки при чтении, но и выводят все возможные режимы и используют скобки для описания того, какой из вместо этого активен несколько режимов.

В вашем случае никогда не заключен в скобки, поэтому режим, который вы пытались активировать с помощью echo , уже активен:

always madvise [never]

Если вас интересует, как sysfs работает, вы можете узнать больше об этом в Википедии или в документации ядра Linux .

5
23.07.2016, 01:37
1 ответ

Вы также можете написать правило udev специально для этого устройства.

nano /etc/udev/rules.d/NN -Ваш _набор _из _rules.rules

# My Device which should not have admin rights
ATTRS{idVendor}=="1234", ATTRS{idProduct}=="0042", MODE="664", GROUP="plugdev"

Устройство с vid/pid :1234/0042 по-прежнему будет принадлежать пользователю root, но будет отнесено к группе «plugdev». Если ваш пользователь является членом этой группы, у вас будут права доступа к ней. Вы можете выбрать любую другую группу по вашему желанию.Режим — это двоичный код разрешений устройства. Владелец и группа могут записывать и читать, другие могут только читать устройство.

После этого вы можете запустить lsusb -vдля получения iSerial.

0
27.01.2020, 20:42

Теги

Похожие вопросы