Під час запуску змонтуйте розділ NTFS з власником не-root


28

На даний момент я монтую розділ NTFS при запуску, використовуючи наступний рядок у / etc / fstab:

/dev/sda3        /media/data           ntfs      nls=iso8859-1,umask=000

Для моєї установки Ubuntu 11.10, схоже, що всі файли та папки належать root- і оскільки NTFS так чи інакше не підтримує ту саму систему управління правами, я не можу змінити її після завершення монтажу. Незалежно від того, що я роблю, ls -lде-небудь на розділі NTFS буде перераховано всі файли та папки, якими володіє root:root.

Однак це викликає у мене певні проблеми. Найбільш помітно, що деякі програми, що працюють під моїм обліковим записом (називаються tomas), скаржаться на права доступу. Крім того, коли я намагаюся скопіювати ( cp) або перемістити ( mv) файли з одного з моїх розділів ext3 на розділ NTFS, я отримую повідомлення про помилки

mv: preserving times for `[path to new file]`: Operation not permitted

або, аналогічно

mv: preserving permissions for ...

Чи монтується розділ на моє ім’я замість кореневої допомоги? Якщо так, то як це зробити у fstab?


Оновлення:

Зараз я змінив варіанти відповідно до пропозицій і дійшов до цього:

nls=iso8859-1,permissions,users,umask=000,uid=tomas,gid=tomas

ls -lтепер відображаються всі файли, що належать мені замість root, і, здається, вирішено деякі проблеми, які я мав раніше. Однак не всі вони.

Коли я запускаю Eclipse, я отримую помилку, що файл, пов'язаний з android-sdk, не може бути запущений: у дозволі відмовлено. ls -lповідомляє мені про файл:

-rwxrwxrwx 1 tomas tomas 159620 2011-11-29 14:50 adb*

Це виглядає так, як я цього хочу. Але якщо я спробую запустити його ( ./adbу терміналі), я також отримаю дозволи, відхилені в помилках. Але якщо я запускаю його sudo, він працює (я вважаю - принаймні, це не дає мені повідомлення про помилку, але він не дає мені жодного результату, що, на мою думку, не повинно ...)

Чому вищезазначений файл із дозволами на виконання будь-кого , як і раніше, не може виконуватись іншим, ніж root? Як змінити спосіб монтажу файлової системи таким, яким він є?


Оновлення 2:

Гаразд, зараз я зайшов трохи далі. За допомогою монтажу з цими параметрами

nls=iso8859-1,permissions,users,auto

Я отримав усі дозволи, встановлені так, як я їх очікую, chownі chmodфактично змінити налаштування файлів (принаймні відповідно до ls -l) = D

Але моя система все ще веде себе дивно. Дозволи для adbфайлу сценарію з'являються як вище, але ні я, ні Eclipse не можуть запустити його без помилок "Дозволено відмовлено". Але наскільки я бачу, у файлі встановлено всі необхідні прапори ( o=rwxмає бути достатньо, правда?). Чому це не працює?


Оновлення 3

Гаразд, у мене все працює на стороні Ubuntu, з такими параметрами:

nls=iso8859-1,permissions,users,auto,exec

Однак, коли я намагаюся отримати доступ до файлів на розділі з Windows, налаштування безпеки всі змішані. На всі файли (з тих небагатьох, яких я перевірив) новий обліковий запис, який називається Account Unknown(long GUID), додано до списку користувачів і має повні права. Кільця для більшості інших користувачів зменшуються, так що я не маю прав робити речі, які я очікую. Зокрема, "Кожен", здається, не має права на "Перехід папки / виконання".

Це може бути вирішено, просто вибравши розділ і дозволити всім робити що-небудь у кореневій папці, а потім сказати йому зробити це рекурсивно, але я вважаю за краще не так, як боюся, це займе кілька днів ...


2
Від монтажу (8) : users Allow every user to mount and unmount the filesystem. This option implies the options noexec, ... unless overridden by subsequent options, as in the option line users,exec,dev,suid). Тож додайте execдо своїх варіантів, і я вважаю, що питання щодо відмови у дозволі на виконання має бути вирішено.
benwh

Ви коли-небудь вирішували це питання після оновлення 3? ... Я намагався в один момент зробити резервну копію rsync моєї системи Linux на додатковий диск ntfs, який я мав, але після великого пошуку я прийшов до висновку, що я ніколи не можу покласти повний масив інформації про файлову систему Linux на ntfs fs. (Ну, можливо, я міг би наблизитися, як ви зробили вище, але врешті-решт, Linux не дуже добре відображається на ntfs.)
Еліптичний вигляд

@Elipticalview: Це вже давно, і у мене більше немає такого ж комп’ютера. Ви спробували прийняту відповідь?
Томаш Ашан

Відповіді:


25

У стовпці параметрів додайте permissionsі auto(імовірно userабо users)

nls=iso8859-1,permissions,users,auto
  • permissions: (Опція NTFS-3G) Встановіть стандартні дозволи на створені файли та використовуйте стандартний контроль доступу.
  • auto: Буде монтуватися під час завантаження та з mount -a
  • user: Дозвольте звичайному користувачу монтувати файлову систему
  • users: Дозвольте кожному користувачу монтувати та демонтувати файлову систему

Потім змініть право власності на файлову систему:

sudo chown -R thomas:thomas /media/data 

Мій рядок в /etc/fstab

/dev/sda5 /media/ntfs ntfs-3g users,permissions,auto 0 0

Змонтажуйте та перелічіть дозволи

sudo mount /media/ntfs
Using default user mapping

bodhi@ufbt:~$ ls -l /media

drwxr-xr-x 1 root root 4096 2012-01-04 17:08 ntfs

Змініть право власності та перелічіть нові дозволи

bodhi@ufbt:~$ sudo chown bodhi:bodhi /media/ntfs

bodhi@ufbt:~$ ls -l /media

drwxr-xr-x 1 bodhi bodhi 4096 2012-01-04 17:10 ntfs

За замовчуванням ntfs-3g монтує розділ noexec, nosuid та nodev.

  • noexec: Не допускайте прямого виконання будь-яких бінарних файлів у змонтованій файловій системі.
  • nosuid: Не дозволяйте набору ідентифікатора set-user або бітів-ідентифікаторів групи набирати чинності.
  • nodev: Не інтерпретуйте символи та не блокуйте спеціальні пристрої у файловій системі.

Щоб змінити це і дозволити виконання файлів, використовуйте exec

/dev/sda5 /media/ntfs ntfs-3g exec,permissions,auto 0 0

Тепер ми отримуємо

bodhi@ufbt:~$ ls -l /media/ntfs

-rwx------ 1 bodhi bodhi 28 2012-01-04 17:16 file

bodhi@ufbt:~$ /media/ntfs/file
It works

Гм ... після додавання цього до fstab (роблячи стовпець параметрів hte наступним чином nls=iso8859-1,permissions,users,umask=000) та перезавантаження тепер я можу переміщувати та копіювати файли без повідомлень про помилки. Усі файли все ще відображаються як власники, root:rootхоча навіть після sudo chown -R tomas:tomas /media/data. Зараз це не здається проблемою, але з цікавості: чому це?
Томаш Ашан

Я думаю, що через твійumask=000
Пантера

Ні, umask=000еквівалентно chmod 777- umask визначає всі прапори, які ви не хочете встановлювати у файлах. Я погоджуюсь, що це протиінтуїтивно
Томаш Ашан

Я оновив своє запитання з додатковою інформацією про те, що я спробував, та результати.
Томаш Ащан

1
Гм ... мені доведеться поки що це відмітити: виходить, це зіпсувало дозволи при читанні файлів з Windows ...
Томаш Ащан

2

Використовуйте параметри uidі gid(або використовуйте функцію відображення користувача) mount.ntfs (8)


1
Іншими словами, додайте uid = кого
завгодно

uidі gidробота, але тепер дозволи підтримуються в ntfs-3g, і ці варіанти над permissionsпараметром запускають. Дивіться: b.andre.pagesperso-orange.fr/permissions.html
Пантера

Я оновив своє запитання з додатковою інформацією про те, що я спробував, і отримані результати. Погляньте =)
Томаш Ашан

Чи можете ви оновити запис у fstab та видалити uid, gid та umask, просто nls=iso8859-1,permissions,usersскасуйте та знову встановіть розділ.
Пантера

@ bodhi.zazen: Тоді ми повернемося до квадратного. Файли відображаються як власність, root:rootа Eclipse скаржиться на дозволи.
Томаш Ашан

2

Моя працює ідеально, коли я змінюю лінію fstab на

UUID=761C84B31C846FC3 /media/d        ntfs    defaults,umask=022,uid=1000 0       0

1

Що з використанням udisks? Він може легко монтувати розділи NTFS разом із вашим користувачем як власником.

Приклад (введіть його в командний рядок):

/usr/bin/udisks --mount /dev/sda3

Ви також можете додати цю команду до запуску програм, і вона автоматично встановиться під час входу.

Довідка: АвтоматичноMountPartitions

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.