У меня есть скрипт, который мне нужно выполнить в разделе NTFS. Разрешение сценария установлено на 600.
Я попытался изменить разрешения, выполнив команду chmod 755 script.sh
, которая не сообщает об ошибке или о чем-либо еще, но также не меняет разрешения для файла:
$ stat script.sh
File: `script.sh'
Size: 297070 Blocks: 584 IO Block: 4096 regular file
Device: 811h/2065d Inode: 35515 Links: 1
Access: (0600/-rw-------) Uid: ( 1000/ xxxxxx) Gid: ( 1000/ xxxxxx)
Access: 2010-09-30 14:05:16.041621000 -0700
Modify: 2010-09-30 14:05:05.070157000 -0700
Change: 2010-09-30 14:05:05.070475000 -0700
$ chmod 755 script.sh
$ stat script.sh
File: `script.sh'
Size: 297070 Blocks: 584 IO Block: 4096 regular file
Device: 811h/2065d Inode: 35515 Links: 1
Access: (0600/-rw-------) Uid: ( 1000/ xxxxxx) Gid: ( 1000/ xxxxxx)
Access: 2010-09-30 14:05:16.041621000 -0700
Modify: 2010-09-30 14:05:05.070157000 -0700
Change: 2010-09-30 14:05:05.070475000 -0700
Как видите, оно остается неизменным.
permissions
ntfs
chmod
Натан Осман
источник
источник
Ответы:
Режим определяется параметрами монтирования раздела (вы не можете изменить его с помощью chmod).
Для «755» для файлов и «777» для каталогов вы должны использовать что-то вроде
источник
/dev/whatever
и/mnt/whatever
если мне нужно изменить разрешение моего раздела жесткого диска с именем/media/Prtn
ntfs-3g.usermap
. Смотрите ниже ...Вопреки мнению большинства людей, NTFS - это POSIX-совместимая файловая система, и на NTFS можно использовать разрешения .
Чтобы включить это, вам нужен «User Mapping File» или просто
permissions
укажите опцию при монтировании (когда не требуется совместимость с Windows). Это сопоставляет пользователей linux в вашей системе с внутренними идентификаторами пользователей, такими как NTFS / Windows.См. Страницу руководства ntfs-3g для получения дополнительной информации и примеров. Если вам нужна дополнительная информация, обратитесь к расширенной документации ntfs-3g о владельцах и разрешениях .
(Обратите внимание, что это не работает на файловых системах FAT.)
¹ Да, он также может хранить имена файлов, которые действительны в Linux / Unix, но не под Windows, поддерживает символические ссылки и жесткие ссылки и т. Д.
источник
sudo ntfs-3g.usermap /dev/disk/by-label/MY-NTFS
а потомsudo mv UserMapping /media/MY-NTFS/.NTFS-3G/
chmod 655 /some/file
для раздела NTFS, смонтированного в Linux? Я пытаюсь понять, как объединить мой домашний раздел из linux в c: \ Users. Позволит ли использование usermap сохранить все разрешения? Я планировал смонтировать каталог c: \ Users в / home в linux.ntfs-3g manpage
ссылка не работаетДля разделов NTFS используйте
permissions
опцию в fstab.Сначала размонтируйте раздел ntfs.
Определите ваш раздел UUID с
blkid
Затем отредактируйте
/etc/fstab
И добавьте или измените строку для раздела NTFS
Сделать точку монтирования (при необходимости)
Теперь смонтируйте раздел
Опции, которые я вам дал,
auto
автоматически монтируют раздел при загрузке иusers
позволяют пользователям монтировать и размонтировать.Затем вы можете использовать chown и chmod в разделе ntfs.
источник
users
подразумевает noexec , nosuid и nodev . нет? Как пользователи могут монтировать / размонтировать сnoexec
настройкой?В дополнение к настройке fmask и / или dmask в ответе htorque выше, если вы хотите выполнить сценарии на диске, мне также пришлось установить параметр монтирования "exec".
Таким образом, пример будет:
источник
Вы всегда можете явно вызвать интерпретатор сценария, в этом случае разрешения на выполнение не требуются. Если скрипт использует bash , что можно проверить, посмотрев на первую строку скрипта, просто запустите
Обратите внимание, что скрипт вызывает другие скрипты или двоичные файлы в том же разделе, это не будет работать. Также обратите внимание, что стратегия не работает с двоичными файлами, в отличие от текстовых файлов сценариев, написанных на Bash Script, Perl, Python и т.п.
источник
/lib64/ld-linux-x86-64.so.2 ./program.bin
для 64-битных и/lib/ld-linux.so.2 ./program.bin
32-битных программ.В соответствии с разделом « Владение и разрешения » документации NTFS-3G, мы можем использовать параметры монтирования для управления доступом к файлам и их созданием . Комбинации очень сложны (см. Две таблицы там). Также я не читаю и получаю все из них. Например, я не знаю, выбран ли POSIX ACL во время компиляции или нет двоичного пакета NTFS-3G. Но лучшее, что я получил, - это использование файла сопоставления пользователей в сочетании с некоторыми вариантами монтирования, чтобы приблизить вероятное сопоставление владения файлами и разрешений между Windows и Linux.
Предупреждение : это только то, что лучше всего подходит для общего доступа к разделу данных NTFS (диск
D:
под Windows) между Windows 8 с двойной загрузкой и Kubuntu 14.04. Инструкции записаны в тщательной ретроспективе, но не полностью проверены. Это слишком утомительно и утомительно, чтобы повторить всю процедуру снова. Так что следуйте этому на свой страх и риск. Но если вы это сделаете, поделитесь своим опытом. Если вы решите следовать инструкциям, прочитайте их полностью, чтобы получить полную картину, прежде чем действовать. Удачи!Хорошо, вот и ты! Подробные инструкции состоят из трех частей. Часть 1 должна выполняться в Windows, а часть 2 в Linux. Часть 3 для теста.
Часть 1
В разделе « Сопоставление пользователей » документации NTFS-3G указаны две версии для настройки сопоставления пользователей между Windows и Linux, одна версия Windows и одна версия Linux. По моему опыту, версия для Linux закончилась промахом . Учетная запись Linux не была сопоставлена с моей учетной записью Windows, но под SID появилась некоторая неизвестная учетная запись . В результате возникла путаница, поскольку эта неизвестная учетная запись становится владельцем всех файлов моей учетной записи Windows. В этой ситуации, если у вас нет прав администратора для возврата прав собственности, файлы под вашей учетной записью Windows становятся недоступными. Но даже если вы терзаете, это все ещенеправильное отображение. Это означает, что позже все файлы, которые вы создаете в Linux, будут назначены этой неизвестной учетной записи в Windows, а те, что в Windows, будут назначены пользователю root (если я правильно помню). Таким образом, в Windows вам нужно вернуть право собственности снова, а в Linux сменить владельца. Это не то, что мы ожидаем. После нескольких безнадежных попыток исправить проблему я сдался и перешел к версии для Windows. Это сработало. Подробные инструкции, извлеченные из соответствующего раздела документации NTFS-3G, приведены ниже:
Загрузите инструмент usermap , извлеките его куда-нибудь (в моем случае, диск
C:
), лучше вне NTFS-раздела (в моем случае дискD:
) для общего доступа.Откройте командную строку Windows. Перейдите в извлеченный каталог
tools
(по умолчанию)usermap
инструмента. Затем выполните следующую команду:Это создает шаблон и перенаправляет его в файл с именем
UserMapping
. Откройте файл с помощью текстового редактора, скажем, Блокнот, вы должны увидеть следующие строки:Предположительно, первым
SID
должен быть SID вашего пользователя, а вторым - SID вашей группы. Вы можете проверить их соответственно с помощью командwhoami /user
иwhoami /groups
.После того, как вы убедитесь, что SID верны, следуйте инструкциям в комментарии, то есть измените
user
вuser::SID
строке свое имя пользователя иgroup
в:group:SID
строке имя основной группы в Linux. На Ubuntu они одинаковые. Кроме того, добавьте имя вашей группы Linux также после первого двоеточияuser::SID
строки. Так что линия должна выглядеть примерно такuser:group:SID
. Кажется, что в противном случае файлы, созданные в Windows, будут назначены вuser:root
Linux.Сохраните файл. Переместите его в каталог с именем
.NTFS-3G
(создайте его, если он еще не существует) в разделе NTFS для общего доступа (в моем случае дискD:
).Этот шаг предназначен для тестирования в части 3. В общем разделе NTFS создайте новый каталог и новый файл.
Часть 2
Теперь загрузитесь в Linux.
sudo
отредактируйте файл/etc/fstab
. Добавьте или измените строку для общего раздела NTFS примерно так:Необходимо установить
umask
(dmask
иfmask
может также работать, но не проверено). Выберите значение дляumask
вас, как я, хотя я выбрал077
. Кажется, без этой настройки полные права будут предоставленыo
thers для вновь созданных файлов.Сохраните файл. Теперь
sudo mount
или перемонтируйте (sudo umount
и затемsudo mount
) общий раздел NTFS (в моем случае/data
):Часть 3
Теперь (еще в Linux)
cd
до точки монтирования (в моем случае/data
)ls -l
файлов нет. Проверьте, совпадают ли их права доступа и права доступа соответственно с тем, который вы указали вUserMapping
файле и в которомumask
вы его установили/etc/fstab
(соответствие между разрешениями иumask
требует некоторого дополнительного вычисления, см. Man (1) umask для получения дополнительной информации). Если они это сделают, поздравляем, половина цели достигнута. Иначе бедный ты. Спросите Ubuntu или Windows.Затем создайте новый каталог и новый файл.
ls -l
проверить их право собственности и разрешения. Владельцем должно быть ваше имя пользователя и основная группа, как обычно. Разрешения должны соответствоватьumask
. Теперь перезагрузите компьютер и загрузитесь в Windows. Найдите в общем разделе NTFS каталог и файл, который вы только что создали в Linux. Проверьте их свойства, чтобы увидеть, назначены ли они вашей учетной записи Windows. Если они, поздравляю, вы все сделали. В противном случае невезение. Спросите Windows или Ubuntu.EOF
источник
Старая ветка, я знаю, но все еще актуальна, и в ней отсутствует конкретный пример использования, составленный из разных предложений на различных других форумах / темах и протестированный на Ubuntu GNOME 13.04, где я хотел, чтобы внешний диск содержал библиотеку Steam ...
Например, если NTFS-раздел находится на внешнем USB-диске - это означает, что раздел монтируется на лету при подключении - тогда вы можете использовать следующий метод, чтобы udev монтировал разделы ntfs с правами на выполнение.
Откройте окно терминала и выполните:
Затем вставьте эту строку в то, что должно быть пустым / новым файлом (если нет, то выйдите из nano и повторите команду, начиная имя файла с большего числа, например, 91 -...):
Затем сохраните и закройте. Отключите диск и затем выполните в терминале:
Далее подключите диск обратно и наслаждайтесь :)
источник
Все шаги:
Установить
ntfs-3g
:Размонтировать раздел NTFS :
Используйте
ntfs-3g.usermap
для создания вашегоUserMapping
файла:или же
Перемонтируйте раздел NTFS, чтобы добавить
UserMapping
файл:Обновите ваш
fstab
файл:Обновить строку монтирования :
#
в начале.UUID=34A0456DA04536A0 /mnt/windows ntfs defaults,uid=1000,gid=1000 0 0
UUID=34A0456DA04536A0 /mnt/windows ntfs-3g defaults 0 0
(использоватьntfs-3g
и толькоdefault
вариант)Это должно выглядеть примерно так:
#UUID=34A0456DA04536A0 /mnt/windows ntfs defaults,uid=1000,gid=1000 0 0
UUID=34A0456DA04536A0 /mnt/windows ntfs-3g defaults 0 0
Наконец, перемонтируйте, используя ваш
fstab
:Сделайте это один раз для каждого раздела NTFS !
ВНИМАНИЕ С ОС Windows!
Я проверяю это с Windows 7+ и разрешения влияют на ОС Windows! Я изменяю права доступа моего домашнего каталога в разделе Windows, и когда я снова использовал Windows, я мог видеть, что пользователь сломался!
источник
Существует вопрос, связанный с USB-устройствами. Этот ответ дает неприятный взлом, если вы хотите автоматически подключить каждое USB-устройство с разрешениями на выполнение.
источник
Смонтируйте раздел NTFS на USB-накопителе с пользовательскими правами и владельцем
В Linux режим NTFS (и FAT32) определяется параметрами монтирования раздела . Вы не можете изменить это через chmod.
Предположение: USB-накопитель видится как
sdb1
, измените, чтобы соответствовать букве диска и номеру раздела в вашем случае . Общий синтаксис:sdxn
гдеx
буква диска иn
номер раздела, как видно, например,sudo lsblk -f
Подготовка
Размонтируйте раздел NTFS.
Создайте пользовательскую точку монтирования (только если вы хотите новую точку монтирования), например, с
Проверьте свой идентификатор пользователя
uid
(обычно это 1000, иногда 1001 или 1002 ...)и используйте этот номер, если вы хотите получить право собственности (по умолчанию
root
).Смонтировать раздел NTFS
Пример 1 (без прав на выполнение файлов, нет доступа для «других»),
в этом случае вы можете запустить скрипт
this-script
сПример 2 (с правами на выполнение для файлов, нет доступа для «других»),
В этом случае вы можете запустить скрипт
this-script
си вы также можете запускать исполняемые программы из этого места (не то, что рекомендуется).
Пример 3 (полные разрешения для всех, что удобно, но не безопасно, когда есть несколько пользователей),
источник
/media$ sudo mkdir -p sdb1
/media$ sudo mount -o rw,users,umask=000,exec /dev/sdb1 ./sdb1/ mount: block device /dev/sdb1 is write-protected, mounting read-only
chkdsk /f X:
по этой ссылке ubuntuforums.org. /… - Если все равно не повезло, сделайте