在命令行上修复NetInfo错误

修复NETINFO错误的命令行

级别:高级

先决条件:终端/命令行,用户和组

介绍

今天,在进行例行维护时,我注意到我不再能够使用sudo。 而且尝试进行身份验证无效。 我的计算机一直抱怨我没有提供有效的管理员用户名。

我想:“这很奇怪,因为我一直都有一个管理员帐户。

快速浏览Netinfo Manager证实了我的怀疑:我的一个小组被神秘地改名为“ admin”。

现在,在Mac OS X中,“管理员”组定义了具有管理员特权的用户。 而且,当有两个管理员组时,系统会感到困惑,并决定应该*没有*管理员。

这不好,特别是因为您需要管理员权限才能修改NetInfo数据库!

幸运的是,有希望。 通过引导进入单用户模式(在听到启动提示音后立即按住Cmd-S),即使您的普通登录帐户没有管理员权限,您也可以执行具有root权限的命令。

您可能不知道,但是有一个很棒的工具可以从Mac OS X的命令行中使用NetInfo数据库。它称为

nicl

nicl是“ NetInfo命令行”的缩写。 不幸的是,关于它的文档并不多,但是我们将在这里介绍基础知识。

警告:如果您不知道自己在做什么,可能会严重破坏工作。 仅修改您的NetInfo数据库以解决问题,而不是引起问题。 基本

让我们从一些简单的东西开始。 打开终端并输入以下命令:


nicl . -list /users 
这将输出系统上所有用户帐户简称的列表。 注意“ nicl”后的点。 这意味着我们要查看本地NetInfo数据库。 “ -list”参数意味着我们要列出用户“目录”中的所有节点。

注意,这里的“目录”一词实际上并不表示文件系统中的文件夹。 我们使用该术语是因为它有点像目录,因为NetInfo数据库是以类似于您的计算机文件系统的分层方式组织的。

如果要获取有关特定用户帐户的信息,可以运行以下命令:


nicl . -read /users/daemon 
此命令在“用户” [pseudo-]目录中列出“守护程序”节点的所有变量。 高级的东西

现在,让我们进入有趣的东西。 我们如何更改NetInfo数据库中的信息? 基本上有四个命令可以满足您的大部分需求:

  • -create创建节点(sudo nicl -create / users / joe)
  • -append向节点添加值(sudo nicl。-append / users / joe passwd“ *”)
  • -重命名为好东西(sudo nicl。-rename / users joe mark)
  • -delete删除内容(sudo nicl-/用户标记)

请注意,要修改NetInfo数据库,您需要root权限。 这是单用户引导很方便的地方。

修复NetInfo

考虑到本文开头描述的情况,我需要对错误的组条目进行一些处理。 在查看了重复的“ admin”组(使用nicl .-read / groups / admin)之后,我意识到新的组将必须存在,并且我必须重新创建原始组(即www)。

因此,我启动了单用户模式并执行了以下命令:


sh /etc/rc  # finish startup sequence
.
.
.
nicl . -list /groups  # Since there's two admin groups, I don't want to delete the wrong one.
.
.
.
60         mailman
61         appserverusr
62         admin                  <---  Here's the duplicate.  Note its ID number 62.
63         appserveradm
.
.
.
nicl . -delete 62  # You can also refer to nodes by their ID numbers to resolve duplicates.
nicl . -create /groups/www  # Recreate the original group
nicl . -append /groups/www users www
nicl . -append /groups/www name www
nicl . -append /groups/www passwd "*" 
shutdown -r now  # To restart the computer. 
重新登录后,一切恢复正常! 摘要

nicl提供了一个非常方便的界面,用于查看和修改您的NetInfo数据库信息。 您可以-list和-read目录和节点,-create,-rename和-delete目录,节点和键,以及-将键和值附加到节点。

即使无法使用计算机,也可以在单用户模式下使用nicl修复损坏的NetInfo数据库。

欲获得更多信息

看看苹果的

有关nicl的更多信息,请参见nicl的手册页

有关NetInfo,其功能和工作方式的更多信息,请查看Apple的

netinfo的手册页

From: https://bytes.com/topic/networking/insights/667915-fixing-netinfo-errors-command-line

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值