Когда я компилирую код C++ в оболочке моего Chromebook, я получаю сообщение об ошибке bash: ./a.out: Permission denied
. Это происходит даже тогда, когда я запускаю с sudo: sudo: unable to execute ./a.out: Permission denied
. Почему это происходит?
3
1 ответ
4
Проблема закончилась тем, что файловая система была смонтирована с флагом noexec
, вероятно, по соображениям безопасности. Чтобы обойти это,
- Запустите
sudo mount -o remount,rw -o exec PATH/TO/YOUR/FILE
, где PATH/TO/YOUR/FILE - это каталог, в котором вы пытаетесь выполнить файл. - Если вы получили сообщение об ошибке, например
mount: /home/chronos/user/Downloads not mounted or bad option
, удалите последний каталог из команды (в данном случае /Downloads) и повторите попытку. Продолжайте удалять, пока это не работает. - Если вы получаете сообщение об ошибке, например,
When remounting eCryptfs, you need to pass the mount utility the -i parameter to avoid calling the mount helper
, запуститьsudo mount -o remount,rw -io exec PATH/TO/YOUR/
.
Теперь вы сможете запустить файл.