在我的整个职业生涯中,我都是 Windows 用户。我刚买了一台 MacBook Pro,想开始使用 Ruby on Rails 进行开发。
我遇到了几个推荐使用该sudo
命令的安装指南。据我所知,该sudo
命令允许您以管理员身份运行命令。
我不明白的是......我的Mac上只有1个用户帐户,默认情况下我不应该是管理员用户吗?
为什么我需要使用sudo
命令?
我是否正确理解了什么sudo
?
在 mac 上,您用来登录的用户默认不是超级用户(root)帐户。这是设计使然的安全功能 ( Least Privilege )。
与该安全模型一起提供sudo
的工具是允许普通(非 root)用户根据具体情况执行 root 任务。
这可以防止一系列问题,其中最重要的是意外地把你的机器搞砸了。:)
您遇到的部分困惑是术语。在 OS X 中,您会遇到 3 个主要级别的帐户权限:
root(又名超级用户、系统管理员或系统):这是一个特定的帐户(不仅仅是一种帐户),并且通常是全能的。例如,root 拥有对系统上所有文件的完全访问权限,而不管它们的权限是什么。以 root 身份登录通常是一个坏主意,因此默认情况下该帐户是禁用的(并且大部分是隐藏的)。这大致对应于您可能称之为“管理员”的内容。
(更新:在最新版本的 macOS 中,root 的权力受到限制,以限制获得 root 访问权限的恶意软件造成的损害。系统完整性保护 (SIP)和只读系统卷保护操作系统本身,以及透明度同意和控制 (TCC) )限制对用户个人信息的访问。)
管理员:这是您拥有的帐户类型;它允许进行系统范围的更改,但通常必须做一些特殊的事情(即单击挂锁图标并进行身份验证)才能启用该访问。例如,如果您尝试复制一个您没有读取权限的文件,Finder 将要求您在复制文件之前进行身份验证。该sudo
命令是另一个例子——它允许管理员暂时将自己提升为 root。
标准用户:没有特殊权限,不允许弄乱(大多数)系统范围的设置或绕过访问限制。
还有第四类:管理帐户是应用了“家长控制”的标准帐户。
归档时间: |
|
查看次数: |
21484 次 |
最近记录: |