我的主目录中有一个名为“rescan.sh”的脚本。我创建了一个指向脚本的符号链接并将其放在/ usr / local / bin中。该脚本执行以下操作:
#!/bin/bash
sudo sh -c "echo 1 > /sys/bus/pci/rescan"
我需要这个脚本才能让我的读卡器正常工作,我需要在每次重启后运行这个脚本(长篇故事,不同的问题,不要进入这个)。
我想要实现的是脚本在启动时自动运行。我需要sudo权限来运行脚本,因此我需要一个无密码的sudo用于此脚本。我可以用期望或用visudo做到这一点。出于安全考虑,我只考虑后者。我一直在试验visudo,但还没有任何工作。我希望得到一些帮助来设置它。这是我的视觉:
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults editor=/usr/bin/vim
Defaults env_reset
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
%admin ALL=(ALL) NOPASSWD:/usr/local/bin/rescan
# 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
其他信息:
答案 0 :(得分:0)
这个问题很古老,这个答案只是一个猜测但是......
改变
%admin ALL=(ALL) NOPASSWD:/usr/local/bin/rescan
到
your_usual_user_name ALL=(ALL) NOPASSWD:/usr/local/bin/rescan
可能有所帮助。但是,请注意:我不知道与此相关的安全风险!