Как получить доступ к исполняемому файлу в отдельном разделе? [дубликат]

Возможный дубликат:
Как выполнить команду chmod в разделе NTFS?

Я только начал использовать Ubuntu, и у меня на жестком диске есть раздел Ubuntu, раздел Windows 7 и раздел хранилища гораздо большего размера, где я храню большинство своих файлов.

Я занимался программированием и помещал a.out в папку в разделе «Хранилище». Когда я пытаюсь запустить его в Bash, я получаю ошибку с отказом в разрешении. Затем я выполнил sudo chmod + x a.out , но это не дало никакой обратной связи, поэтому я попытался снова запустить a.out и получил отказано в разрешении . Я попытался использовать графический интерфейс, чтобы изменить a.out на исполняемый файл, но когда я установил , он сразу же снял отметку .

Я погуглил, и оказалось, что самому разделу нужно дать разрешение на выполнение. Итак, я выполнил sudo chmod + x Storage , а затем сделал ls -l и получил:

drwx------ 1 jared jared 4096 2011-09-17 21:03 Storage

Когда я вернусь, чтобы изменить a.out , он все еще не изменится.

Это строка из / proc / mounts для файловой системы:

/dev/sda3 /media/Storage fuseblk   rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096 0 0

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

Спасибо, Джаред

1
задан 13 April 2017 в 15:23

2 ответа

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

bash ./script

Разрешения Linux (также известные как chmod / chown) работают только в файловых системах Linux. Они не будут работать на NTFS или FAT32.

0
ответ дан 13 April 2017 в 15:23

Файловые системы Windows (в частности, fat32 и ntfs) и некоторые другие не имеют правильного управления, как их аналоги в Linux. Но даже если бы это было не так, sudo chmod +x Storge ничего бы не сделало, поскольку это просто папка в иерархии файловой системы, а папки уже исполняемые. Вам потребуется опция recurse chmod -R folder, чтобы установить разрешения для всех файлов в этой папке. Но опять же, здесь это тоже не сработает, потому что нет разрешений для установки.

Однако вы можете указать вашей системе смонтировать раздел хранилища таким образом, чтобы это можно было выполнить. Например, моя запись /etc/fstab для моего раздела Windows выглядит так:

# Excerpt from /etc/fstab
UUID=7258CB9858CB598D /media/win ntfs rw,auto,user,exec,nls=utf8,umask=003,gid=46,uid=1000    0   2

Обратите особое внимание на опции umask и exec. gid и uid сообщают mount, к какому пользователю относится раздел.

Дополнительная информация по этим вопросам:

0
ответ дан 13 April 2017 в 15:23

Другие вопросы по тегам:

Похожие вопросы: