Форум программистов, компьютерный форум, киберфорум
С++ под Linux
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.61/89: Рейтинг темы: голосов - 89, средняя оценка - 4.61
5 / 5 / 1
Регистрация: 03.10.2014
Сообщений: 76
1

Ошибка "Permission denied" при попытке запуска программы

09.02.2015, 15:26. Просмотров 16936. Ответов 11
Метки нет (Все метки)

Не могу запустить свой "Hello world". Написал программу в текстовом файле, как положено. Hello.cpp
Далее в терминале, запущенном из папки с проектом:
...$g++ ./Hello.cpp -o ./Hello.exe (Это расширение указано в инструкции запуска программ в Linux, которой пользуюсь, но и с *.о расширением объектного кода результат тот же.)
Проверяем, что всё хорошо сделано и находим готовый файл в списке:
...$ls
Пробуем запустить:
...$./Hello.exe
И получаем:
bash: ./Hello.exe: Permission denied

Это же сообщение выбивает при попытке после точки и слеша записать любой файл с его расширением. Пробовал запускать *.exe файл из-под Wine - тоже выбивает ошибку - нет разрешения. Даже из-под root-пользователя. Пробовал запустить с помощью "Run software" - тоже ошибка. Перед тем, как запустить терминал, программу проверил на ошибки в Geany, так что в исходнике ошибок быть не должно. Что я не то сделал? Почему не запускается?
Xfce4-terminal 0.6.3 xubuntu 14.04 TT
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.02.2015, 15:26
Ответы с готовыми решениями:

Ошибка при компиляции "cannot open output file 780561.exe: Permission denied"
Сделал пару правок и код перестал работать, вернул все назад и снова ничего. Ошибка: ...

"Failed to open stream: Permission denied", где ошибка?
Есть скрипт ротатора банеров. На денвере работает без ошибок. На хостинге после запуска скрипта...

Ошибка компиляции "cannot open output file GO.exe: Permission denied"
Подскажите в чем ошибка? Почему не хочет компилировать? 17:30:58 **** Incremental Build of...

Ошибка SQL Management Studio: "The EXECUTE permission was denied to object"
Работаю с базой в которой нужно выполнять запросы SQL. При попытки создания запроса возникает: ...

__________________

Записывайтесь на профессиональные курсы C++ разработчиков
11
14086 / 7556 / 1793
Регистрация: 30.01.2014
Сообщений: 12,649
09.02.2015, 17:53 2
Salah_Addin,
Вывод команды
ls -l ./Hello.exe
покажи.
0
5 / 5 / 1
Регистрация: 03.10.2014
Сообщений: 76
09.02.2015, 18:00  [ТС] 3
...$ ls -l ./Hello.exe
-rw------- 1 7677 февр. 9 17:56 ./Hello.exe

Попробовал запустить Hello world в питоне - все в порядке. А С++ не хочет.
0
14086 / 7556 / 1793
Регистрация: 30.01.2014
Сообщений: 12,649
09.02.2015, 18:19 4
Цитата Сообщение от Salah_Addin Посмотреть сообщение
-rw------- 1 7677 февр. 9 17:56 ./Hello.exe
Отчетливо видно, что у файла нет прав на исполнение.
Дай ему права и все будет хорошо.
PS. В Unix исполняемый - это файл, которому разрешили исполняться, а не тот, у которого какое-то особое расширение.

Salah_Addin, Напиши
chmod 775 ./Hello.exe
0
5 / 5 / 1
Регистрация: 03.10.2014
Сообщений: 76
09.02.2015, 18:33  [ТС] 5
...$ ./Hello.exe
bash: ./Hello.exe: Permission denied
//Это мы уже видели. Дадим файлу права на исполнение
...$ chmod +x Hello.exe
...$ ./Hello.exe
bash: ./Hello.exe: Permission denied
...$ sudo chmod +x Hello.exe
[sudo] password for xxx:
...$ ./Hello.exe
bash: ./Hello.exe: Permission denied

Потом зашел в свойства файла, поставил галочку разрешить запуск файла в качестве программы. В терминале не запускается, при повторном заходе в свойства галочки нет. Что еще можно предпринять?
Ваше предложение тоже попробовал.
...$ chmod 775 ./Hello.exe
...$ ./Hello.exe
bash: ./Hello.exe: Permission denied
...$
Может написал что не так?
0
14086 / 7556 / 1793
Регистрация: 30.01.2014
Сообщений: 12,649
09.02.2015, 18:39 6
Цитата Сообщение от Salah_Addin Посмотреть сообщение
Может написал что не так?
После манипуляций этих ls -l что показывает?
0
5 / 5 / 1
Регистрация: 03.10.2014
Сообщений: 76
09.02.2015, 18:41  [ТС] 7
Похоже ничего не изменилось:

-rw------- 1 ХХХ ХХХ 7677 февр. 9 17:56 Hello.exe
И я опять в свойствах не нахожу поставленной галочки. Я сейчас от суперпользователя, если это как-нибудь влияет на результат.
0
14086 / 7556 / 1793
Регистрация: 30.01.2014
Сообщений: 12,649
09.02.2015, 18:49 8
Лучший ответ Сообщение было отмечено Salah_Addin как решение

Решение

Цитата Сообщение от Salah_Addin Посмотреть сообщение
И я опять в свойствах не нахожу поставленной галочки.
ну эта галочка и ls -l - имеют один источник информации.

В целом ты все делаешь правильно. Компилятор при генерации файла
[droffset@localhost ~]$ cat > hello.cpp
#include <iostream>

int main()
{
std::cout << "Hello, World!" << std::endl;
}
^D
[droffset@localhost ~]$ g++ hello.cpp -o hello.exe
[droffset@localhost ~]$ ./hello.exe
Hello, World!
[droffset@localhost ~]$
сам должен дать ему права на исполнение, но почему-то у тебя этого не произошло, и вручную тоже не получается. Нужно больше информации.
Какая файловая система?
Какие права на каталог, в котором это происходит?
0
5 / 5 / 1
Регистрация: 03.10.2014
Сообщений: 76
09.02.2015, 19:03  [ТС] 9
Диск был поделен на несколько частей еще когда у меня стояла Windows. Одна - большая для пользовательских файлов и все остальные, чтобы я игрался с переустановкой разных ОС, и ничего важного при этом не сгорело. Поэтому на разделе с ОС стоит ext4, а большой раздел -ntfs. Рабочая папка для программирования создана на нём же для пущей сохранности. У владельца системы доступ на чтение и запись каталога, в котором это происходит. Сейчас попробую запустить исходник из раздела с ОС, но сразу говорю, если неполадки здесь, то мне это не нравится. У меня не бывает обычно времени заархивировать пользовательские файлы перед переустановкой системы, либо переместить в другое место, а делать постоянно резервные копии - это не мой метод.
0
14086 / 7556 / 1793
Регистрация: 30.01.2014
Сообщений: 12,649
09.02.2015, 19:07 10
Цитата Сообщение от Salah_Addin Посмотреть сообщение
большой раздел -ntfs
В ntfs нет понятия "исполняемый" для файлов. Отсюда проблемы. Это виндовый раздел, в винде исполняемость определяется по расширению. В *nix - это не так.

Добавлено через 48 секунд
Цитата Сообщение от Salah_Addin Посмотреть сообщение
У меня не бывает обычно времени заархивировать пользовательские файлы перед переустановкой системы, либо переместить в другое место, а делать постоянно резервные копии - это не мой метод.
Зачем это делать? Просто юниксовые бинарники нужно запускать с юниксовых разделов.
0
5 / 5 / 1
Регистрация: 03.10.2014
Сообщений: 76
09.02.2015, 19:09  [ТС] 11
Всё работает. Спасибо. Теперь буду изучать массивы. И надо подумать, как сохранять пользовательские файлы. Резервные копии огорчают.
0
14086 / 7556 / 1793
Регистрация: 30.01.2014
Сообщений: 12,649
09.02.2015, 19:20 12
Цитата Сообщение от Salah_Addin Посмотреть сообщение
И надо подумать, как сохранять пользовательские файлы.
В чем проблема использовать родную для linux файловую систему? Если же просто нужен доступ к этим файлам из windows, то могу порекомендовать неплохую программку DiskInternals Linux Reader.

Добавлено через 7 минут
Salah_Addin, кстати, твою проблему можно и по-другому решить. Нужно в /etc/fstab разрешить запуск с ntfs, добавив опцию exec для нужной точки монтирования.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.02.2015, 19:20

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

При обновлении и установке выдаёт "update-info-dir: Permission denied"
Доброе время суток. Недавно реанимировала root, и всё бы ок, но с тех пор не могу установить...

"Permission denied" при использовании IdFTP
Всем доброго времени суток. В программе требуется отправлять файлы на ftp сервер используя...

Ошибка при попытке запуска Turbo Debugger'a "old or invalid configuration file"
Здравствуйте. Я очень далеко не специалист, поэтому нужна помощь. Необходимо ознакомиться с TD-ом,...

При запросах через nginx страниц на сервере с apache2 в логи пишет "Permission denied"
Всем доброе время суток! я уже четвертый день далблюсь настройками nginx + apache2 на ubuntu...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.