Автор Гілка: Дещо про монтування ФС NTFS  (Прочитано 1793 раз)

Відсутній ra

  • Дописувач
  • **
  • дописів: 56
  • Карма: +0/-0
Дещо про монтування ФС NTFS



Зазвичай в таких випадках я б сказав стороннім людям щось на зразок «RTFM» чи «В бабруйськ, жівотноє!».

Але є у лінуксі та дружніх системах чимало дурнуватих речей, які спільнота не поспішає задокументувати. Це вже не баги, так би мовити, а фічі.


Маємо невелику забаганку: аби при монтуванні дисків з файловою системою NTFS позбутися для звичайних файлів біта, перепрошую, екзекуції — чи як його краще рідною мовою сказати? Одним словом, зробити ці файли непридатними для запуску у якості програми. Бо воно не юніх-вей, та й загалом поганий феншуй (з поглядів безпеки, але то таке).

Читач вже напевно здогадався, що опція монтування noexec не дає потрібного наслідку. Читання довідки у цьому випадку також не дасть ради, і якраз про це я оповідаю.

У довідковій сторінці man mount написано багато чого, але, коли не помиляюсь, жодним словом не згадано, як у цьому випадку позбутися біта виконання для файлів, але разом з тим дозволити користувачеві заходити у теки на файлових системах, що їх відформатовано у вельми дружню NTFS. Досліди з опцією монтування umask можуть додати сивого волосся, але цієї прблеми не вирішують.

Мусимо застосувати /dev/head.

Для монтування ФС з родини fat (див. довідкову сторінку) передбачено ще декілька цікавих опції. Серед них — dmask (для тек) та fmask (для звичайних файлів). Виявляється, що ці опції можна також застосовувати також і для монтування ФС з NTFS. Тож дочитаймо довідку, а заразом перегляньмо ще й man umask (чи що є у вас в системі стосовно цієї теми).

Після дослідження довідки мусимо змінити файл /etc/fstab та відмонтувати файлові системи NTFS, а потім змонтувати їх з новими опціями. Наводжу приклад такого файлу /etc/fstab:

# NTFS partitions for MS Windows:
/dev/hda2 /mnt/nt1 ntfs ro,user,noexec,noauto,nls=utf8,gid=1000,umask=0000,dmask=0222,fmask=0333 0 0
/dev/hda5 /mnt/nt2 ntfs ro,user,noexec,nls=utf8,gid=1000,umask=0000,dmask=0222,fmask=0333 0 0
/dev/hda6 /mnt/nt3 ntfs ro,user,noexec,nls=utf8,gid=1000,umask=0000,dmask=0222,fmask=0333 0 0

Це лише приклад, а не буквальне спонукання до дії. (Коли це читають справжні чоловіки та мужні козаки, то можу порадити хіба таке: викиньте оту редмондську забаву й більше ніколи про неї не згадуйте.)

Докладніше пояснювати не буду, викладеного має бути цілком досить.



Дещо таки мушу додати

Коли читач матиме бажання чинити різні досліди з файловими системами, нехай обов’язково (!) докладно вивчить довідку щодо umask (що воно за таке і як працює). Це надзвичайно важливо. У деяких випадках вартість похибки через незнання може бути занадто великою. Зокрема, не слід у файлі /etc/fstab надавати опції umask значення 0000 як у моєму прикладі. Значно краще — 0222.

А чому так — прошу читату довідку. :)
« Змінено: 2007-12-10 03:16:42 від ra »
Debian GNU/Linux (stable), OpenBSD.