【问题标题】:How to allow i2c access by user www-data in Debian Linux?如何在 Debian Linux 中允许用户 www-data 访问 i2c?
【发布时间】:2016-01-21 17:11:56
【问题描述】:

我有一个访问 /dev/i2c-1 的程序。当以root身份运行时,它工作正常。现在我必须能够通过在 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;
} 

【问题讨论】:

    标签: php linux apache i2c


    【解决方案1】:

    仅仅将apache用户加入组是不够的;您还必须确认 '/dev/i2c-1' 目录上的组权限允许读取和写入(或您要对其执行的任何任务。)

    作为root,您应该执行以下命令:

    chmod g+rw /dev/i2c-1
    

    此命令将更改此指定目录的权限,以允许其组中的用户对其进行读写。

    【讨论】:

    • 你能告诉我怎么做吗?
    • 您应该确认您已将 apache 添加到正确的组中,并且确实在您运行命令时设置了该目录的组权限。
    • 我已经运行了“chmod 666 i2c-1”并且设备现在可以工作,但我不确定它的安全性。
    • 你可能不想给每个人读写权限;我会使用 660。
    • 如果有人能准确地解释如何正确地做到这一点,那就太好了。
    猜你喜欢
    • 2015-10-30
    • 1970-01-01
    • 2017-12-12
    • 2016-08-29
    • 1970-01-01
    • 2021-08-28
    • 1970-01-01
    • 2014-02-15
    • 1970-01-01
    相关资源
    最近更新 更多