MAC OS 修改hosts文件不弹出警告框
文章目录
步骤
- 打开终端,输入以下命令
sudo /bin/chmod +a 'user:你的登录用户名:allow write' /etc/hosts
- 输入密码,回车
由头
使用SwitchHosts修改hosts文件时,每次都会在重启SwitchHosts时候弹出输入密码的框,很烦,所以就有了这个方法
设置成开机自动执行此命令
- 创建并编辑文件
~/Library/LaunchAgents/com.example.setpermissions.plist - 添加以下内容
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.example.setpermissions</string>
<key>ProgramArguments</key>
<array>
<string>/bin/sh</string>
<string>-c</string>
<string>sudo /bin/chmod +a 'user:你的登录用户名:allow write' /etc/hosts</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
- 保存并执行
launchctl load ~/Library/LaunchAgents/com.example.setpermissions.plist - 执行
launchctl list | grep com.example.setpermissions来查看你的启动代理是否已经被加载。
设置当前用户不需要输入密码
- 打开终端,输入
sudo visudo - 在打开的文件中添加以下内容,并保存
你的用户名 ALL=(ALL) NOPASSWD: /bin/chmod
- 这一行的含义是,你的用户在任何主机(ALL)上,作为任何用户(ALL)运行 /bin/chmod 命令时,都不需要输入密码(NOPASSWD)。
请注意,编辑 sudoers 文件需要谨慎,因为如果你不小心犯了错误,可能会导致你无法使用 sudo。使用 visudo 命令可以帮助防止这种情况,因为它会在保存文件之前检查语法错误。
update
如果系统升级后又需要重新输入密码了,可以先launchctl unload ~/Library/LaunchAgents/com.example.setpermissions.plist再重新launchctl load ~/Library/LaunchAgents/com.example.setpermissions.plist
相似文章
文章作者 pengxiaochao
上次更新 2023-11-08
许可协议 不允许任何形式转载。