当我启动或重新启动 Ubuntu 服务器时,我会收到很多消息,开始这样或那样,但最后我收到一条消息Unknown id: /home/kevin/riak-1.2.1/dev/dev1/bin/riak
。我检查了<path>
,它存在并且与错误消息中的路径相同。我认为这个错误来自init.d
,在启动过程的这一点上,/home/kevin
路径的一部分尚不存在,或者存在权限问题。以下是输出的副本,ls -l
附加了pwd
:
-rw-rw-r-- 1 kevin kevin 0 Nov 8 12:08 ls.txt
-rwx------ 1 kevin kevin 8531 Sep 25 23:22 riak
-rwx------ 1 kevin kevin 17710 Sep 25 23:22 riak-admin
-rwx------ 1 kevin kevin 2400 Sep 25 23:22 search-cmd
/home/kevin/riak-1.2.1/dev/dev1/bin
我怀疑有问题的脚本有以下几行:
su - /home/kevin/riak-1.2.1/dev/dev1/bin/riak -c "$DAEMON $DAEMON_ARGS" || return 2
su - /home/kevin/riak-1.2.1/dev/dev2/bin/riak -c "$DAEMON $DAEMON_ARGS" || return 2
su - /home/kevin/riak-1.2.1/dev/dev3/bin/riak -c "$DAEMON $DAEMON_ARGS" || return 2
su - /home/kevin/riak-1.2.1/dev/dev4/bin/riak -c "$DAEMON $DAEMON_ARGS" || return 2
如果是权限问题,请解释为什么系统无法执行/读取这些文件。
答案1
看一下手册页su
。
man su
检查前四行...
NAME
su - run a shell with substitute user and group IDs
SYNOPSIS
su [OPTION]... [-] [USER [ARG]...]
本质上,您正在做的是尝试以“/home/kevin/riak-1.2.1/dev/dev4/bin/riak”的形式运行 shell。由于您可能没有该精确字符串的用户 ID,因此它(正确地)告诉您无法通过该标识符找到用户。