Как разрешить i2c доступ пользователям www-данных в Debian Linux?

1

У меня есть программа, которая обращается к /dev/i2c-1. При запуске от имени root он отлично работает. Теперь я должен иметь возможность запускать это, используя PHP-скрипт на сервере Apache. Программа запускается и запускается нормально, но пользовательские данные www не могут получить доступ к i2c-1. Доступ запрещен! Как было предложено, я добавил www-данные в группу 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;
} 
Теги:
i2c

1 ответ

2
Лучший ответ

Просто добавить пользователя apache в группу недостаточно; вы также должны подтвердить, что групповое разрешение в каталоге '/dev/i2c-1' позволяет читать и писать (или любую другую задачу, которую вы хотите выполнить на нем).

В качестве пользователя root вы должны выполнить следующую команду:

chmod g+rw /dev/i2c-1

Эта команда изменит разрешение этого указанного каталога, чтобы разрешить чтение и запись пользователям в своей группе.

  • 0
    Можете ли вы сказать мне, как это сделать?
  • 0
    Я обновил свой ответ командой для запуска.
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню