Не могу бежать иди отказано в разрешении? - PullRequest
0 голосов
/ 03 марта 2019
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

если я запускаю ls-lah в моем david @ raspberry pi, я получаю следующее:

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

1 Ответ

0 голосов
/ 03 марта 2019

Я предполагаю, что пользователь, вошедший в систему как пользователь, не имеет прав на запуск go.

Чтобы это выяснить, выполните следующую команду:

$ 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

Помните, что колесо - это владелец группы, которого я получил во время бега ls -l.Ваш может быть другим.Эта команда usermod предназначена для Ubuntu.В вашем случае это Raspberry Pi, так что Rasbian OS.Узнайте правильные параметры при переходе с ОС на ОС.

...