1

В Debian Testing (Wheezy) 64bit я пытаюсь установить TrueCrypt:

root@debian:/media/cdrom0# ls -l
total 47120
dr-xr-xr-x 3 root root     2048 Apr  3  2012 32Bit
dr-xr-xr-x 2 root root     2048 Apr  3  2012 64Bit
-r-xr-xr-x 1 root root      647 Aug 16  2011 AUTORUN.INF
-r-xr-xr-x 1 root root     6966 Apr  3  2012 autorun.sh
-r-xr-xr-x 1 root root     5523 Apr  3  2012 runasroot.sh
-r-xr-xr-x 1 root root  7669198 Apr  3  2012 VBoxLinuxAdditions.run
-r-xr-xr-x 1 root root 19237888 Apr  3  2012 VBoxSolarisAdditions.pkg
-r-xr-xr-x 1 root root 13618128 Apr  3  2012 VBoxWindowsAdditions-amd64.exe
-r-xr-xr-x 1 root root   282928 Apr  3  2012 VBoxWindowsAdditions.exe
-r-xr-xr-x 1 root root  7424032 Apr  3  2012 VBoxWindowsAdditions-x86.exe
root@debian:/media/cdrom0# ./VBoxLinuxAdditions.run
bash: ./VBoxLinuxAdditions.run: Permission denied
root@debian:/media/cdrom0# 

Почему я получаю Permission denied вход в систему как root?

1 ответ1

2

Вы должны сделать файл исполняемым с помощью, например,

chmod +x VBoxLinuxAdditions.run

а затем запустить его. Если после этого вы снова проверите ls -l , вы увидите, что для "исполняемого файла" будет установлен флаг x .

Краткое резюме из Википедии:

В Unix-подобных системах есть три конкретных разрешения, которые применяются к каждому классу:

  • Разрешение на чтение , которое дает возможность читать файл. Когда установлено для каталога, это разрешение предоставляет возможность читать имена файлов в каталоге (но не узнавать дополнительную информацию о них, такую как содержимое, тип файла, размер, владение, разрешения и т.д.)

  • Разрешение на запись , которое дает возможность изменять файл. Когда установлено для каталога, это разрешение дает возможность изменять записи в каталоге. Это включает в себя создание файлов, удаление файлов и переименование файлов.

  • Разрешение на выполнение , которое дает возможность выполнить файл. Это разрешение должно быть установлено для исполняемых двоичных файлов (например, скомпилированной программы C++) или сценариев оболочки (например, программы Perl), чтобы операционная система могла их запускать. Когда установлено для каталога, это разрешение предоставляет возможность доступа к содержимому файла и metainfo, если известно его имя, но не к списку файлов внутри каталога (если не установлено чтение).


Редактировать: как отмечено в комментарии ниже (или в оригинальном сообщении, если замечен путь /media/cdrom0/), файл находился на носителе только для чтения. Либо полную структуру можно скопировать на записываемый носитель и изменить разрешения, либо можно запустить их прямо с диска с помощью явного интерпретатора, такого как

sh VBoxLinuxAdditions.run

или же

bash VBoxLinuxAdditions.run

Если ни один из этих переводчиков не работает, можно проверить предполагаемого переводчика, например,

head -1 VBoxLinuxAdditions.run

но это, скорее всего, обычный сценарий оболочки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .