我有一个访问/dev/i2c-1 的程序。当以根用户身份运行时,它可以正常工作。现在,我必须能够在Apache服务器上使用PHP脚本来运行它。程序启动并运行正常,但用户 www-data 无法访问 i2c-1。权限被拒绝!正如建议的那样,我已经将www-data添加到i2c组"adduser www-data i2c",但这并没有帮助。我在单板嵌入式设备上使用命令行 Debian Linux。如何在保持至少最低安全性的同时做到这一点?
gI2c1File = open("/dev/i2c-1", O_RDWR);
if (gI2c1File < 0) {
file_logError("Error opening i2c-1 interface", strerror(errno));
return 0;
}
仅仅将 apache 用户添加到组中是不够的;您还必须确认 '/dev/i2c-1' 目录上的组权限允许读取和写入(或要对其执行的任何任务)。
以 root 用户身份,您应该执行以下命令:
chmod g+rw /dev/i2c-1
此命令将更改此指定目录的权限,以允许其组中的用户读取和写入该目录。