sudo免密配置
平时我们会使用到sudo 提升权限重启服务或者其他操作。举例:Mac重启蓝牙服务:
sudo pkill bluetoothd
,如果没有加sudo
执行的话,则会提示:pkill: signalling pid 22255: Operation not permitted
没有权限操作。 那么如果添加了sudo
,则需要你手动输入密码,在写自动化脚本或者定时任务时候是没有人为交互的,较为麻烦。当然可以通过嵌套expect
脚本或通过-S
参数读取标准输出来获取密码解决,但是这些都有较为大的密码泄露的风险在,所不在我的考虑范围,经过查询资料可以通过Unix
的sudoers
特性配置免密交互,教程如下
sudo visudo
…………
# 上面的内容省略
# root and users in group wheel can run anything on any machine as any user
root ALL = (ALL) ALL
%admin ALL = (ALL) ALL
# 新增一行信息,格式如下:用户名 ALL=(ALL) NOPASSWD: 执行的命令
apper ALL=(ALL) NOPASSWD: /usr/bin/pkill bluetoothd
# 下面的内容省略
…………
保存退出,mac退出终端重新登陆测试即可。
⚠️注意:此操作我理解的意思是,我设置了某些命令在输入sudo
提升权限的时候,无需密码确认。所以在测试的时候还是需要sudo
的。(别问我怎么知道,我测试的时候踩了这个坑)
测试
sudo pkill bluetoothd
# 不需要输入密码没有报错则成功
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
2021-09-04 Linux与Windows文件同步
2021-09-04 packetbeat部署
2021-09-04 Windows 卡输入密码界面