栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在没有``sudo''的情况下访问(树莓派的)GPIO

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在没有``sudo''的情况下访问(树莓派的)GPIO

Rakesh,我一直在尝试找出完全相同的问题,并且我想已经解决了。

您根本不需要了解很多makefile。重要的几行如下,在您运行时以bash执行

sudo make install

install: install-files    groupadd -f --system gpio    chgrp gpio $(DESTDIR)/bin/gpio-admin    chmod u=rwxs,g=rx,o= $(DESTDIR)/bin/gpio-admin

groupadd -f --system gpio
创建一个名为gpio的系统组。
chgrp gpio $(DESTDIR)/bin/gpio-admin
将二进制文件(将C文件gpio-
admin.c编译到)的组更改为gpio。二进制文件的所有者仍然是root用户(因为您以root用户身份运行make。)
chmodu=rwxs,g=rx,o= $(DESTDIR)/bin/gpio-admin
做了两件重要的事情。首先,它使gpio组的成员运行gpio-
admin。其次,它在gpio-admin上设置了setuid位。

当您将自己添加到gpio组时,可以运行gpio-admin,而无需使用sudo,但是gpio admin的行为就像在sudo下运行一样。这使它可以写入/
sys / class / gpio / export文件。它还允许它更改创建的文件/ sys / class / gpio / gpio [pin
number] / direction等的所有者。

即使将/ sys / class / gpio / export的组更改为gpio,并设置权限以允许您对其进行写入

sudo chgrp gpio /sys/class/gpio/export /sys/class/gpio/unexportsudo chmod g+rwx /sys/class/gpio/export /sys/class/gpio/unexport

您可以在没有超级用户权限的情况下导出引脚

echo 22 > /sys/class/gpio/export

但是文件/ sys / class / gpio / gpio22 /
direction等仍将以root作为所有者和组创建,因此您需要使用sudo进行更改。同样,每次重新启动后,导出和取消导出文件的所有权都将还原为root。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/403333.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号