在没有root权限的情况下在linux上读取eeprom

时间:2015-06-16 14:54:33

标签: linux permissions linux-device-driver root buildroot

我正在使用Linux 3.14.28,使用buildroot构建嵌入式系统。

如何在没有root权限的情况下读取文件/sys/devices/i2c.4/i2c-1/1-0052/eeprom

是否存在永久更改权限的解决方案,而不是在每次使用脚本重新启动Linux时更改权限。

我没有使用udev,而是static table。我很容易设法更改权限:

  • device_table_dev.txt用于/dev个文件
  • device_table.txt用于/home/files

但它对/sys/devices/i2c.4/i2c-1/1-0052/eeprom

没有影响

2 个答案:

答案 0 :(得分:1)

首先,不要使用静态表。这些天不使用devtmpfs是没有任何意义的,除非你使用的是2.6.32之前的内核。

然后,设备表是关于更改/ dev中文件的权限。 / sys中文件的权限由内核本身直接控制。

答案 1 :(得分:0)

您需要调整i2c总线设备文件/dev/i2c-*的权限,而不是/sys中的eeprom文件。
使用udev以下规则应该完成工作:

KERNEL=="i2c-[0-9]*", GROUP="dialout"

通常,static table也应该有类似的内容,因为您可以像处理其他/dev/i2c-*文件一样处理/dev/*