Можно ли запускать программы на стоковой Ubuntu?
Я скомпилировал программу на C++, используя систему сборки Sublime Text, но на другом компьютере написано "Отказано в доступе".
Вариант для выполнения в качестве программы отмечен, я думаю, что я также установил разрешения на 755.
Есть ли что-нибудь, что мне нужно сделать? Нужно ли устанавливать gcc для запуска программ?
Изменить: я использовал файл из моего pendrive (FAT32), это может быть проблема, может быть. Но если мне нужно установить разрешения, я бы переместил файл на рабочий стол.
1 ответ
Я использовал файл с моего pendrive (FAT32), это может быть проблема, может быть.
Почти наверняка У нас есть вопросы по выполнению файловых систем на основе FAT, начиная с самого начала Ask Ubuntu.
Проще говоря, это, вероятно, ваша проблема, если вы используете параметры монтирования по умолчанию, и лучшим решением будет переключиться на лучшую файловую систему. Ext4, даже NTFS... Просто что-то слегка совместимое с POSIX, которое поддерживает биты выполнения. Или вы можете взломать его и вручную смонтировать все файлы как 755 (eugh).
Вы можете обойти структуру прав доступа, выполнив файл с помощью системы линкера ld. Это немного грязно, но должно работать для двоичного файла (вероятно, не будет работать на скриптах):
/lib64/ld-linux-x86-64.so.2 /path/to/64bit-binary
/lib/ld-linux.so.2 /path/to/32bit-binary
Если это скрипт, вы также можете загрузить файл через двоичный файл его интерпретатора (не полагаясь на шебанг):
sh /path/to/script.sh
python /path/to/script.py