安装Mongo和使用chown /data/db命令时出现“非法用户名”错误

12

我正在为一个Node / Express教程安装MongoDB,并在创建/data/db文件夹和运行以下命令时遇到问题:

sudo chown 'id -u' /data/db

我收到了以下错误消息:

chown: id -u: illegal user name
2个回答

21

您可以查找当前用户名,然后尝试设置权限。

$ whoami
username
$ sudo chown username /data/db
希望这有所帮助。

4
这个失败的原因是因为您的语法错误,并且您误解了您找到的源中的引号。您需要使用像这样的引号来执行id命令:
chown `id -u` /data/db

看到区别了吗?

此外,您似乎存在关于如何安装mongodb的误解,并且可能已经选择了从tarball构建。 /data/db路径不是必需的,它只是默认位置。

但通常您可以为您的系统获取包安装:

http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/

这些安装通常会按照系统惯例设置目录结构,并创建一个 mongodb 用户,用于运行 mongod 进程,并拥有所有适当的权限。它们通常还有一个配置文件,您可以在其中设置选项。该进程通常也被设置为“服务”,因此您不需要每次手动调用它来使用。
您可以在启动时或在 配置文件 部分中指定 --dbpath 选项,当然,该选项由 --config 选项加载。
无论如何,您通常应该使用为该用户设置的选项和权限以其自身用户(而不是 root)运行 mongod 进程,包括数据和日志目录。

我使用了反引号,但仍然遇到了相同的错误。我认为我的 shell 鱼可能是问题的原因。我暂时切换到 bash 来运行命令,这样就没问题了。 - 1ak31sha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接