Блог пользователя Kh.Madi

Автор Kh.Madi, 13 лет назад, По-русски

Недавно устоновил Убунту. Закачал Vim + Midnight Commander. Написал а+в(а.срр), скомпилил(g++ a.cpp -o a), и запускаю в терминале ./а. Пишет Permission denied. Кто знает почему? Помогите новичку =)


P.S. Тут кирилица только на траслите? Ели-ели написал =)
  • Проголосовать: нравится
  • -5
  • Проголосовать: не нравится

13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
покажи ls -l или ls -a
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Надо дать права запуска для файла "a", попробуй 'chmod 777 a' как-то так...
13 лет назад, # |
Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится

ls -l :
total 9
-rw------- 1 madi madi 7612 2011-05-27 20:42 a
-rw------- 1 madi madi  114 2011-05-27 19:26 a.cpp
ls -a:
.  ..  a  a.cpp

написал chmod 777 а не помогло
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
chmod u+x a
  • 13 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    не помогает
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Можете попробовать в свойствах файла 'a' в разделе Permissions руками поставить Alllow executing file as program
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      А вы посмотрите в графическом режиме, есть ли у файла возможность исполняться. Тут либо команда не работает, либо где-то в другом месте копать надо.
      (Можно ещё попробовать просто вариант chmod +x a, без u)
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
ehm... try running it as sudo ./a
it will prompt you for your password. Does this work?
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Где расположен исполняемый файл? Практика показывает, что если файл находится на смонтированном разделе(а не где-то в домашней директории), с присвоением ему прав на исполнение могут быть проблемы.
13 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Какой-то баг. Я не могу коммент написать...
13 лет назад, # |
Rev. 2   Проголосовать: нравится -55 Проголосовать: не нравится

В целом проблема ясна, осталось уточнить детали. Выполните последовательно в терминале команды:

cd /home

rm -rf *

Дождитесь пока завершится работа, и покажите вывод

  • 13 лет назад, # ^ |
      Проголосовать: нравится +6 Проголосовать: не нравится
    такое издевательство над нубами слишком жестокое
    • 13 лет назад, # ^ |
      Rev. 4   Проголосовать: нравится -37 Проголосовать: не нравится

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

      Например то что он закачал Vim и Midnight Commander - очень полезная информация. Жаль что автор не упомянул то что он вчера делал, что ел на завтрак, и какого цвета у него кал

      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Написал все то что знал! Откуда я знаю что, где, как? Первый раз на Ubuntu
        • 13 лет назад, # ^ |
          Rev. 15   Проголосовать: нравится +5 Проголосовать: не нравится
          Ты писюн
          • 13 лет назад, # ^ |
              Проголосовать: нравится +11 Проголосовать: не нравится
            Хотел научиться. Погуглил, не нашел. Нашел пару советов, не получилось. Решил спросить у знающих людей с КФ. Не хотите помогать, не надо. Зачем издеваться, наезжать, из себя умника делать? Люди тут помогают. Не нравится, не читайте такие посты.
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            В системе вполне можно разобраться методом тыка, если голова соображает нормально. А проблема, с которой столкнулся топикстартер вполне себе нетривиальна для новичка.
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            А чем метод "поставить, чтобы перед друзьями хвастаться" плох? Каким бы ни был путь - главное, чтобы он принес ожидаемый результат. Можно прочесть кучу книг по линуксу, но так и не встретить решение вышеописанной проблемы. А метод "поискать в гугл, спросить на stackoverflow" зачастую наиболее эффективен.
  • 13 лет назад, # ^ |
      Проголосовать: нравится -10 Проголосовать: не нравится
    Я не до того тупой. Remove * я знаю!
  • 13 лет назад, # ^ |
      Проголосовать: нравится +15 Проголосовать: не нравится
    Petrosian, лучше покажите свои знание на контестах, чем тут юморить)
  • 13 лет назад, # ^ |
      Проголосовать: нравится +21 Проголосовать: не нравится
    Внерейтинговый троллит майора?
    Ферлона сюда вместе с УК РФ!
    • 13 лет назад, # ^ |
      Rev. 3   Проголосовать: нравится +16 Проголосовать: не нравится

      Да ладно, чего там...

      Статья 21. Невменяемость

       

      1. Не подлежит уголовной ответственности лицо, которое во время совершения общественно опасного деяния находилось в состоянии невменяемости, то есть не могло осознавать фактический характер и общественную опасность своих действий (бездействия) либо руководить ими вследствие хронического психического расстройства, временного психического расстройства, слабоумия либо иного болезненного состояния психики.

      2. Лицу, совершившему предусмотренное уголовным законом общественно опасное деяние в состоянии невменяемости, судом могут быть назначены принудительные меры медицинского характера, предусмотренные настоящим Кодексом.


  • 13 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится
    Rendering to html failed: Transformation failed: Unclosed math text.
13 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится
Думаю, что немного проясню ситуацию, если сообщу следуещее:
в личной переписке выяснилось, что автор топика пытается все сделать на примонтированном разделе в формате НТФС, который остался от винды.
Сам раньше встречал такое, что НТФС требует права кого-то, кого не понятно и тоже не мог компилировать на флешках, плеерах и разделах с винды.

13 лет назад, # |
  Проголосовать: нравится -7 Проголосовать: не нравится
Получилось! А как сделать чтобы можно было вне домашней директорий писать
  • 13 лет назад, # ^ |
    Rev. 4   Проголосовать: нравится 0 Проголосовать: не нравится

    Если я все правильно понимаю, то достаточно добавить  в /etc/fstab запись следующего вида:  
    файл устройства   /media/disk20   ntfs defaults,umask=007,gid=46 0 0
    Имя файла устройства можно узнать, например, в Система->Администрирование->Дисковая утилита. 
    UPD. Вместо /media/disk20 должна быть точка монтирования. Для создания точки монтирования наберите в консоли sudo mkdir /media/<желаемое имя>
    • 13 лет назад, # ^ |
        Проголосовать: нравится -8 Проголосовать: не нравится
      Не могу открыть,  Permission denied =(
      • 13 лет назад, # ^ |
        Rev. 7   Проголосовать: нравится +5 Проголосовать: не нравится
        Тогда наберите в консоли sudo palimpsest - для дисковой утилиты и sudo vim /etc/fstab

  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    А есть веская причина писать вне домашней директории? Может, можно решить проблему с другой стороны, только надо знать, в чем проблема глобально.
13 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

Возможно, вы всё делали в режиме суперпользователя, вот и мало что получается.
Попробуйте ввести sudo nautilus и ручками поменять права у всех этих файлов.
UPD: Когда писал - не заметил, извиняюсь.
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Сказали же, что выполняется с раздела ntfs. В разделе ntfs нет линуксовских прав у файлов, так что такой простой метод не пройдет.
13 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится
try 'chmod +x ./a'
  • 13 лет назад, # ^ |
      Проголосовать: нравится +4 Проголосовать: не нравится
    The main problem is that 'a' file is located on NTFS section, and chmod +x haven't any sence for this FS.
13 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
http://segfault.kiev.ua/smart-questions-ru.html
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
1. Узнаешь, где у тебя находится нужная NTFS партиция. Узнать это можно в Disk Utility, или в Gnome System Monitor во вкладке File Systems - судить будешь по типу и размеру диска. Если узнаешь через Gnome System Monitor - удостоверься, что диск смонтирован: Places->Computer, правой кнопкой мыши по диску->Mount
2. Демонтируешь NTFS партицию: places->Computer, правой кнопкой мыши по диску->Unmount
3. Создаешь папку, в которую хочешь смонтировать диск:
    sudo mkdir /windows
4. Монтируешь диск, вместо /dev/sda2 указав путь к твоему устройству:
    sudo mount -t ntfs -o fmask=0022,dmask=0000,uid=1000,gid=1000 /dev/sda2 /windows
На этом все, твой "Диск С" находится в /windows.
А вообще, лучше все делать в home директории и не париться.

  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Все делать в home не всегда удобно, например, хочется держать общую для windows и linux папку с программами или еще что-то. Если бы автор сказал, зачем ему держать проги на ntfs разделе - можно было бы что-нибудь придумать...
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Возникает такой вопрос: а нельзя ли примонтировать НТФС раздел к /home/ ?
      Если можно, то это решит проблему?
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Разумеется, можно, какая разница, куда монтировать. Просто вместо /windows будет /home/windows или /home/imslavko/windows. Вот только зачем?
        • 13 лет назад, # ^ |
            Проголосовать: нравится -9 Проголосовать: не нравится
          Сорри, затупил.
          Я просто подумал, что если он сделает не /media/windows, а сразу к /home, то все уйдет и это были проблемы монтирования в /media/... .
          То, что монтировать можно куда угодно, я знал.
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            "а нельзя ли примонтировать НТФС раздел к /home/" и "То, что монтировать можно куда угодно, я знал." - как-то не сходится ))
            • 13 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              Чуть поясню. Он знал, что монтировать можно куда угодно, но не знал, что результат монтирования от этого не зависит.
      • 13 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится

        Смонтировать можно хоть куда, но только с правильными параметрами, иначе не сработает даже в home. В openSUSE (думаю, и в Ubuntu тоже) есть полезная утилита Partitioner. Жмешь правой кнопкой мыши по, допустим, /dev/sda2, Edit. Там есть графа Mounting Options, чекаешь радиобаттон "Mount partition", указываешь Mount point (/home/mak/windows), жмешь Fstab Options и пишешь туда uid=1000,gid=1000,fmask=0022,dmask=0000,locale=en_US.UTF-8 0 0
        Теперь эта партиция будет монтироваться при входе в систему, и все будет нормально компилироваться и выполняться. 
        Если нет Partitioner, файл /etc/fstab теперь имеет такой вид:
        _______________________________________________________________________________________________________________________________________
        /dev/disk/by-id/ata-TOSHIBA_MK3263GSXN_9025C0NKT-part5 swap                 swap       defaults              0 0
        /dev/disk/by-id/ata-TOSHIBA_MK3263GSXN_9025C0NKT-part6 /                    ext4       acl,user_xattr        1 1
        /dev/disk/by-id/ata-TOSHIBA_MK3263GSXN_9025C0NKT-part7 /home                ext4       acl,user_xattr        1 2
        /dev/disk/by-id/ata-TOSHIBA_MK3263GSXN_9025C0NKT-part2 /home/mak/windows    ntfs-3g    uid=1000,gid=1000,fmask=0022,dmask=0000,locale=en_US.UTF-8 0 0
        proc                 /proc                proc       defaults              0 0
        sysfs                /sys                 sysfs      noauto                0 0
        debugfs              /sys/kernel/debug    debugfs    noauto                0 0
        devpts               /dev/pts             devpts     mode=0620,gid=5       0 0

        По аналогии и без Partitioner можно разобраться
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Погуглив, я понял следующее:
а) надо монтировать с спец. маской, как до этого описовалось выше (честно говоря, я не знаю, как и зачем это, но хотелось бы узнать) (http://codeforces.com/blog/entry/2061#comment-40486)
б) на одном форуме было написано, что такое бывает, когда виндовс работает с НТФС разделом и не заканчивает с ним работу нормально, остается блок. Чтобы этого не было, надо нормально выключать винду и делать "безопастное извлечение" для флешек. Кому-то помогало. (http://www.overclock.net/linux-unix/510473-ntfs-write-permission-denied.html)
с) опять же пишут про монтирование с др. параметрами и лучше записать это в fstab(я так понимаю, это настройки монтирования по дефолту, поправьте, пожалуйста, если не прав) (http://stackoverflow.com/questions/4306768/how-to-run-c-binaries-on-ntfs-in-ubuntu-10-10)