我可以 chown /etc/hosts 以便我的用户拥有它,这样我就可以在不使用 sudo 的情况下编辑它吗?

我可以 chown /etc/hosts 以便我的用户拥有它,这样我就可以在不使用 sudo 的情况下编辑它吗?

每当我想更改 hosts 文件时,都必须这样做,这有点不方便sudo emacs /etc/hosts,特别是因为我主要不使用基于终端的编辑器。我可以更改 hosts 文件的所有权,以便我的用户成为所有者,这样就可以在我打开的任何文本编辑器中编辑该文件吗?这会给 OS X 带来任何问题吗?

答案1

是的,你可以1。不,你绝对不应该。它本身不会破坏你的 OS X,但是...

...限制非管理员写入系统配置文件正是 Unix 系统抵御大多数恶意软件的方法。另一方面,在旧版 Windows 中,您经常会发现热门网站被重定向到窃取密码的网站或完全不存在的服务器。


1如果你要这么做,最好把自己加入到访问列表而不是改变所有权:sudo chmod +a "$USER allow read,write" /etc/hosts

答案2

如果您经常编辑 hosts 文件,为什么不直接创建一个别名呢?将类似的东西添加alias changehosts="sudo emacs /etc/hosts到您的登录配置文件中,输入起来会更短。您甚至可以在 sudoers 中添加 NOPASSWD 指令,这样您就不必输入密码(无论是永远,还是专门输入emacs /etc/hosts)。基本安全性实际上并不一定必须以牺牲生产力为代价。

相关内容