2012-03-30 220 views
4

我和我已经安装了rbenv并可以运行ruby -v瑞安的RailsCast集339一起以下。我离开我的会议,当我试图从root回来(通过su deployer,我得到这个错误rbenv:权限拒绝

/home/deployer/.rbenv/bin/rbenv: line 20: cd: /root: Permission denied 

这里是rbenv文件:

#!/usr/bin/env bash 
set -e 
[ -n "$RBENV_DEBUG" ] && set -x 

resolve_link() { 
    $(type -p greadlink readlink | head -1) "$1" 
} 

abs_dirname() { 
    local cwd="$(pwd)" 
    local path="$1" 

    while [ -n "$path" ]; do 
    cd "${path%/*}" 
    local name="${path##*/}" 
    path="$(resolve_link "$name" || true)" 
    done 

    pwd 
    cd "$cwd" 
} 

if [ -z "${RBENV_ROOT}" ]; then 
    RBENV_ROOT="${HOME}/.rbenv" 
else 
    RBENV_ROOT="${RBENV_ROOT%/}" 
fi 
export RBENV_ROOT 

if [ -z "${RBENV_DIR}" ]; then 
    RBENV_DIR="$(pwd)" 
else 
    cd "$RBENV_DIR" 2>/dev/null || { 
    echo "rbenv: cannot change working directory to \`$RBENV_DIR'" 
    exit 1 
    } >&2 
    RBENV_DIR="$(pwd)" 
    cd "$OLDPWD" 
fi 
export RBENV_DIR 


shopt -s nullglob 

bin_path="$(abs_dirname "$0")" 
for plugin_bin in "${RBENV_ROOT}/plugins/"*/bin; do 
    bin_path="${bin_path}:${plugin_bin}" 
done 
export PATH="${bin_path}:${PATH}" 

hook_path="${RBENV_HOOK_PATH}:${RBENV_ROOT}/rbenv.d:/usr/local/etc/rbenv.d:/etc/rbenv.d:/usr/lib/rbenv/hooks" 
for plugin_hook in "${RBENV_ROOT}/plugins/"*/etc/rbenv.d; do 
    hook_path="${hook_path}:${plugin_hook}" 
done 
export RBENV_HOOK_PATH="$hook_path" 

shopt -u nullglob 


command="$1" 
case "$command" in 
"" | "-h" | "--help") 
    echo -e "rbenv 0.3.0\n$(rbenv-help)" >&2 
    ;; 
*) 
    command_path="$(command -v "rbenv-$command" || true)" 
    if [ -z "$command_path" ]; then 
    echo "rbenv: no such command \`$command'" >&2 
    exit 1 
    fi 

    shift 1 
    exec "$command_path" "[email protected]" 
    ;; 
esac 

线20 cd "$cwd"

为什么当我试图回来到一个会议上,我得到这个错误任何想法?

+6

当您将用户切换到“部署者”时,您似乎处于/ root目录中。请确保您位于“部署者”可以访问的目录中。 – d11wtq 2012-03-30 23:41:23

+0

你说得对。我是在'/ root',我认为部署将有机会获得,因为部署是管理小组。你虽然权,目录的简单的开关让我'su'正确。如果你想把这个作为答案,我会接受它。谢谢。 – 2012-04-03 20:35:52

回答

11

看来,你在/根,当是你将用户切换到“部署者”。请确保您位于“部署者”可以访问的目录中。

值得信赖d11wtq