Linux 中的 sudoers
如果希望非 root 用户可以执行需要 root 权限的命令,可以将命令加入到 /etc/sudoers,然后通过 sudo cmd 执行
sudoers 内容的格式如下
授权用户/组 主机=[(切换到哪些用户或组)] [是否需要输入密码验证] 命令1, [(切换到哪些用户或组)] [是否需要输入密码验证] 命令2, ...
- 授权用户/组:以 % 开头表示要授权的组,比如 %admin 表示授权给 admin 组,不以 % 开头表示要授权的用户,比如 spark 表示授权给 spark 用户
- 主机:表示允许登陆的主机,ALL 表示所有主机
- [(切换到哪些用户或组)]:如果省略,相当于 (root:root),如果为 (ALL) 或者 (ALL:ALL),表示能够提权到(任意用户:任意用户组)
- [是否需要输入密码验证]:默认需要密码,如果要免密码,填 NOPASSWD:,注意 NOPASSWD 后面要带冒号
- 命令:允许 sudo 执行的命令,使用全路径,ALL 表示可以执行所有命令
例子
%admin ALL=(ALL) ALL
%admin mycomputer = (root:root) NOPASSWD: ALL
spark ALL = ALL
spark ALL = NOPASSWD: /etc/init.d/apache2
spark ALL = /etc/init.d/apache2, (root:root) NOPASSWD: /etc/init.d/docker
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界