Программа Hello World Rust компилируется, но в результате выполнения не возникает ошибка авторизации - PullRequest
1 голос
/ 06 октября 2019

Я только начал с книгой Rust. Компиляция работает нормально, но при ее запуске выдается ошибка «Нет авторизации».

У меня есть файл

fn main() {
  println!("Hello, world!");
}

, и я скомпилировал его с

rustc main.rs

двоичным файломфайл "main" был создан, не было ошибок вывода (или каких-либо выводов) от компилятора. но

./main

приводит к

bash: ./main: Keine Berechtigung (which means "No authorization")

Как видите, я владелец файла, и он исполняемый:

ls -l 
-rwxrwxr-x 1 monika monika 2491696 Okt  6 21:12 main
-rw-r--r-- 1 monika monika      45 Okt  6 20:31 main.rs

Я пытался:Удаление и переустановка Rust, перезагрузка компьютера.

Я ни разу не использовал sudo и не запускал какую-либо часть (установку, создание файла, компиляцию) от имени другого пользователя.

1 Ответ

1 голос
/ 07 октября 2019

Вы ничего не сообщили нам о том, в какой операционной системе вы находитесь, но эта ошибка, по-видимому, является ошибочным значением EACCES. Причины, по которым EACCES в Linux может быть указана *1002*, заключаются в следующем:

  • В компоненте пути отказано в разрешении на поиск.
  • Файлили интерпретатор сценария не является обычным файлом.
  • Для сценария или интерпретатора ELF отказано в разрешении на выполнение.
  • Файловая система смонтирована noexec.

В этом случае наиболее вероятной проблемой является то, что вы работаете в файловой системе, которая смонтирована noexec. В некоторых системах /tmp установлен noexec, а в некоторых крупных установках (например, в университетах), /home также. Вам нужно запустить mount (или эквивалент вашей операционной системы), чтобы узнать смонтированные файловые системы и параметры их монтирования, а затем выбрать файловую систему, которая не смонтирована noexec, при условии, что это так.

Другая проблема может заключаться в том, что каталог не имеет разрешений на поиск, и в этом случае вы должны просмотреть иерархию каталогов и убедиться, что бит выполнения установлен для каждого из этих каталогов для вашего пользователя, или переключиться на каталог, которыйу него есть эти ограничения.

Это не проблема Rust;вы бы, вероятно, имели это и с программой на Си. Эта проблема почти наверняка связана с конфигурацией или разрешениями в вашей системе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...