无法运行去权限被拒绝?

问题描述 投票:-1回答:1
david@raspberrypi:~ $ go env

-bash: /usr/bin/go: Permission denied

这是我的bash.rc

export GOPATH=$HOME/go

$HOME/.bashrc 

export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

如果我在我的大卫@ raspberry pi中运行ls-lah,我得到以下内容:

david@raspberrypi:~ $ ls -lah 
total 28K 
drwxr-xr-x 3 david david 4.0K Mar  2 22:20 . 
drwxr-xr-x 4 root  root  4.0K Mar  2 20:03 ..
-rw------- 1 david david 3.1K Mar  2 21:48 .bash_history
-rw-r--r-- 1 david david  220 Mar  2 20:03 .bash_logout
-rw-r--r-- 1 david david 3.6K Mar  2 22:15 .bashrc 
lrwxrwxrwx 1 david root    11 Mar  2 21:31 go -> /usr/lib/go 
drwxr-xr-x 2 david david 4.0K Mar  2 20:25 .nano
-rw-r--r-- 1 david david  675 Mar  2 20:03 .profile
go raspberry-pi permission-denied
1个回答
0
投票

我假设你登录的用户没有运行权限去。

要找到它,请运行以下命令

$ which go
/usr/local/go/bin/go

$ ls -l $(which go)
-rwxr-xr-x  1 root  wheel  12896684 Jan 24 01:28 /usr/local/go/bin/go

从上面我们知道所有者是root和集团所有者是wheel

现在运行echo $USER以查看谁是登录用户。

由于您获得了拒绝运行许可,请以$USER的身份运行,您可能希望将用户添加到ls -l中提到的组中。所以,运行以下。

$ usermod -aG $USER wheel

并重启系统!然后再次尝试go env,看它是否有效。

-a用于追加-G是要追加的组

usermod docs

记住wheel是我在运行ls -l时获得的组所有者。你的可能会有所不同。此usermod命令适用于ubuntu。在你的情况下,它是覆盆子pi所以raspbian OS。找出从OS到OS更改的正确选项。

© www.soinside.com 2019 - 2024. All rights reserved.