Почему chmod не работает с файлом в / media?

9

Я хочу выполнить файл скрипта из терминала, но он показывает ошибку

root@silambarasan-PC:/media/D-DEVELOPME/androidSdk/adt-bundle-linux-x86/sdk/tools# ./android
-bash: ./android: Permission denied`

поэтому я увидел права доступа к файлу из терминала и попытался дать разрешение на выполнение. но бесполезно, даже если я даю разрешение, оно не изменится.

root@silambarasan-PC:/media/D-DEVELOPME/androidSdk/adt-bundle-linux-x86/sdk/tools# ll android 
-rw-r--r-- 1 silambarasan silambarasan 3498 Dec  6 08:14 android
root@silambarasan-PC:/media/D-DEVELOPME/androidSdk/adt-bundle-linux-x86/sdk/tools# chmod 777 android 
root@silambarasan-PC:/media/D-DEVELOPME/androidSdk/adt-bundle-linux-x86/sdk/tools# ll android 
-rw-r--r-- 1 silambarasan silambarasan 3498 Dec  6 08:14 android`

Я не знаю что делать

Спасибо.

Силамбарасан
источник

Ответы:

10

Проще всего было бы скопировать исполняемый файл в вашу домашнюю папку и запустить его оттуда.

Но…

Кажется, ваш исполняемый файл смонтирован на внешнем разделе. Убедитесь, что раздел не смонтирован noexec. Пытаться:

grep '/media/D-DEVELOPME' /etc/mtab | grep noexec

Если вы видите строку, содержащую слово «noexec», попробуйте заново смонтировать раздел без noexecфлага:

mount -o remount,exec /media/D-DEVELOPME

Также убедитесь, что ваш носитель действительно позволяет вам изменять разрешения, например, вы не можете делать это на смонтированном компакт-диске или SD-накопителе с включенным ключом только для чтения.

Аттила О.
источник
Я пробовал самый простой способ, работает сейчас. Большое спасибо @Attila O
Силамбарасан
1
Это также может быть showexecопция FAT, которая разрешает бит разрешения на выполнение только для расширений .EXE, .COM и .BAT.
Ортомала Локни
-1

Вместо этого chmod 777 fileвы можете использовать chmod u+x file. Где uозначает пользователя и xозначает исполнение разрешений. Смотрите man chmodстраницы для получения дополнительной информации. Я знаю, что 777 дает все права на чтение, запись на выполнение для пользователя, группы и других, попробуйте использовать синтаксис с u + x.

revnoise
источник