我已经在Mac上启用了root用户,因此我可以登录它并运行Finder等。作为我的懒人,只需将所有内容从我的主目录传输到即可/var/root
。我不太确定要这样做,所以我可能会将所有内容移回去。从技术上来说,像普通用户一样使用它是否可以?(我是唯一可以访问我的计算机的人。)
我已经在Mac上启用了root用户,因此我可以登录它并运行Finder等。作为我的懒人,只需将所有内容从我的主目录传输到即可/var/root
。我不太确定要这样做,所以我可能会将所有内容移回去。从技术上来说,像普通用户一样使用它是否可以?(我是唯一可以访问我的计算机的人。)
Answers:
一直以root用户身份使用计算机就像总是随身携带所有钥匙,护照,5,000美元现金,写有所有密码的那张纸,以及唯一的一张拥有可爱的兔子Flopsy的照片。死让你七岁的心伤了。哦,还有电锯。
就是说,这有时会非常方便,因为这意味着您可以随时随地执行所需的任何操作,而无需回到家拿东西或与银行经理交谈。但这也使您极有可能丢失东西,被盗(不要以为电锯会帮到您:在您发现钱包消失之前便会流连忘返),然后做一些让您后悔的事情(冲动购买)醉酒时去往拉斯维加斯的飞机票),采取危险的捷径(通过狮子围栏锯链,因为这是通往大熊猫的最快方法)和反应过度(锯邻居的车,因为他的狗吠太多)。而且,当您考虑时,大多数情况下,您只是去办公室,去杂货店购物,和朋友出去玩。你不 只是为了方便,一个小时都需要所有这些东西,一个月一次?一个星期一次?
因此,不能,始终使用root帐户是不正确的。它给您带来了极小的便利,但却给您带来了极大的危险。愚蠢的错误有导致灾难性后果的危险(“嘿,为什么rm -rf *
要花这么长时间才能运行?****我进来了/
!”)。有使自己适应所有文件都是相等的想法的危险,并且您可以随意随意地在目录树中的任何位置进行操作。存在对您帐户的任何黑客攻击都立即对整个系统进行黑客攻击的危险,因此,现在您计算机上的每个软件都对安全性至关重要。而且,即使你认为你不关心你的机器遭到黑客攻击(毕竟,Flopsy的那张照片是光面的,而不是一些短暂的JPEG的真正片),我 关心您的计算机被黑客入侵是因为,然后它就在僵尸网络上,对我今天无法访问的任何互联网服务发起DDOS攻击。
根是您的蜘蛛侠服装。它赋予您强大的力量,但需要承担巨大的责任。无论何时需要,它都在壁橱里,因此您不必一直都在穿。
您可以,但这是主要的安全性和稳定性风险。这样做允许任何应用程序完全访问您的计算机。您不知道他们使用该访问权限在做什么。这是不必要的,而且真的很不安全。
有关更多背景信息,请参见
坦率地说,我同意使用root
默认用户会带来很多风险。但是,让我来看看它们并批评一些论点
root
应用程序比应用程序要难一些root
(例如,与其直接安装一个根证书并拦截与银行的连接,您还需要使用浏览器,但是,实际上,这是相当可行的,您可能仍然必须这样做,以确保用户不会注意到任何东西)root
用户可以保存系统,所有重要文件通常也已经丢失(因为用户拥有的文件更多)可能是唯一的)。root
权限,仍然可以访问所有私有文件,并且还可以截取网络数据...作为私有系统的攻击者,您希望做的两件最重要的事情。
无论哪种方式,所有人都认为我认为这并不像其他人所声称的那样可怕。提醒您,我也不是说这是个好主意,但我认为人们高估了* nix文件系统权限模型对保护您的有用性。是的,它对于某些事情(例如多用户系统,复杂的多应用程序服务器,无论发生什么情况都能保持系统运行(正在运行,但没有必要使用),锁定重要文件(尽管最好对这些文件进行加密)都非常有用) ...)等),但这并不是防止不良事件发生的不可思议的保护措施。
在评论中,我想出了一个比喻,似乎足以描述这种情况。在荷兰语中,我们有一个小壁橱这个词,您可以在其中找到所有的水表和主要供水的拨动开关,等等。以root
用户帐户身份运行就像将小壁橱上的锁取下一样。具有讽刺意味的事实是:大多数人一开始并没有对其进行锁定。现在,就像root
用户并不是说在某些情况下将其锁定是没有用的,例如在办公室或其他半公共建筑中,通常将其锁定,但是在普通房屋中,在前门上牢固锁定更为重要(而不安装随机物品,防火墙等),并将所有重要物品放在安全的地方(进行备份,加密物品等)。壁橱上的额外锁会不会疼?不,因此,以防万一,将其放置在适当位置可能是一个好主意,但很可能这将是毫无用处的。
运行的root
用户是什么样把你的房子所有的锁,并携带所有的东西在安全与你所有的时间,由大卫Richerby声称。您的护照(身份)绝不受* nix文件系统保护,您的钱(银行帐户)绝不受* nix文件系统保护,您的重要密码很可能不受* nix文件系统保护(如果您使用的是Safari,但是实际上它们可能受到* nix文件系统权限模型的部分保护,但没有root
您仍然可以在Safari中添加一个不可见的扩展名,然后在下次使用时拦截密码),您的照片绝对不受* nix文件系统的保护,如果您使用的是终端机,则说明您已经携带了电锯与您在一起(按上述第2点)。
大约在1990年,我与一个名叫汤姆(Tom)的人一起从事一个项目。我们使用的是运行SunOS(Unix衍生版本,Solaris的前身)的SUN服务器。这是CD驱动器和闪存驱动器之前的日子,因此,如果您弄乱了硬盘驱动器上的操作系统,则无法恢复。
Tom以前通常以root用户身份登录。我告诉他这是个坏主意,但他不听。有一天,我听到他说“嗯”。他本来打算输入这样的东西:
mv something* .
不幸的是,他没有留下最后一个点,因此shell扩展了与该模式匹配的所有文件和目录名称。然后,mv命令将最终使用的名称作为列表中的最终名称用作目标目录,并将其他所有内容移动到该目录中。同样不幸的是,他目前在根目录下,因此基本上整个文件系统都移入了其子目录之一。
我使用向上箭头恢复了先前的命令,并看到了发生了什么。然后我说的第一件事是:“不要注销!否则您将永远无法再次登录。”
没问题吧?我们可以将所有内容移回原处。我们可以,除了mv命令不是shell的内置命令之一。相反,它是一个可执行程序,存储在已移动的文件之一中。幸运的是,ls是一个内置命令,因此在使用ls确认命令移至何处后,我能够找到mv命令,使用其完整路径名调用它,并将其放回原本应该的位置。
然后我告诉他:“汤姆,这就是为什么通常以root用户身份登录是个坏主意的原因。”
通常,您希望将个人文件的所有权与根用户分开。这就是为什么您以管理员身份创建帐户的原因。在OS X下,获得根级别访问权限的公认方法是使用sudo
终端应用程序中的命令。例如,如果要查看内部驱动器的分区,则命令为
gpt -r show /dev/disk0
如果输入,将导致以下错误消息。
gpt show: unable to open device '/dev/disk0': Permission denied
要使用该命令,您需要使用sudo
如下所示的命令。
sudo gpt -r show /dev/disk0
如果要成为root用户避免输入sudo
,可以输入sudo sh
。该exit
命令可用于退出成为root用户的权限。
如果要以root用户身份执行应用程序,则可以使用终端应用程序。例如,如果要以root用户身份启动Finder,请输入以下命令。
sudo /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder &
为避免同时打开两个Finder应用程序造成混乱,通常最好先退出Finder应用程序。可以使用以下终端命令来完成。
osascript -e 'tell application "Finder" to quit'
请注意,在命令之前加上与sudo
成为root用户并不相同。例如,命令
sudo echo $USER
sudo echo $SUDO_USER
结果与下面显示的命令相同。
echo $USER
echo $SUDO_USER
如果您成为root用户(超级用户),则相同的命令将导致不同的输出。可以通过输入以下所示的命令来验证。
sudo sh
echo $USER
echo $SUDO_USER
sudo echo $USER
sudo echo $SUDO_USER
exit
仅举几个例子,为什么总是不能以这样的方式运行root
:
我可以继续。关键是有充分的理由不以超级用户身份运行。对于大多数人,我不会不同意他们的大多数个人数据仍在其主目录中,但是以root用户身份运行仍然会给该数据和整个系统带来更大的风险。不以root用户身份运行的建议不会错位。如果一个人不了解以root身份运行的含义,那么他们绝对不应该这样做。提出其他建议是不负责任的。
没有!这将使您的系统在很短的时间内就被破坏。取而代之的是,su
或sudo
根据需要扎根。如果绝对肯定地,您必须以身份运行root
,至少在不使用计算机时随时注销。如果你的系统能够运行多用户的,但没有用户配置,我建议你创建一个特权用户(即:一个可sudo
/ su
。成根在必要时)尽快!