我試圖讓一個python腳本訪問Odroid XU4上的GPIO引腳,它需要sudo。我想簡單地將GPIO引腳從關閉閃爍到開啓,然後再次關閉。 python腳本沒問題,但是我運行它時會要求輸入密碼。編輯sudoers文件仍然要求輸入密碼
我編輯了我的sudoers文件,使用visudo
不需要密碼,以便進行GPIO訪問。從以前的博客中,我發現sudoers指令的順序很重要,並已考慮到這一點。我目前的sudoers文件如下:
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
username ALL=NOPASSWD: /sys/class/gpio/export
username ALL=NOPASSWD: /sys/class/gpio/gpio174/direction
username ALL=NOPASSWD: /sys/class/gpio/gpio174/value
爲什麼在嘗試訪問GPIO引腳174時仍然提示輸入密碼?我已經在%admin
和%sudo
行之後添加了NOPASSWD指令,就像其他帖子所建議的一樣。
感謝您及時的回覆!通過設置#!/ usr/bin/python和權限以便用戶名不能覆蓋它,究竟是什麼意思?此外,嘗試將'username ALL = NOPASSWD:/ usr/bin/blinkscript'插入到sudoers文件中會導致語法錯誤,我不知道爲什麼。我必須包含'.py'的擴展名嗎? –
更新:我能夠將'username ALL = NOPASSWD:/ usr/bin/blinkscript'添加到sudoers文件,但它仍然要求在終端中輸入密碼。 –
@ M.Bedross我更新了一個測試的例子;只是爲了檢查:你的閃爍腳本是否在腳本內部調用了sudo命令? – Foon