NTFS-3G — свободный драйвер файловой системы NTFS. Проект стабилен при работе с любыми NTFS-разделами (включая запись), имеет большое и активное сообщество разработчиков и лицензируется под GNU General Public License. Однако для Mac OS X драйвер не является свободным и требуется покупка лицензии.
На данный момент заявлена работа в следующих ОС: Linux (доступны сборки как для 32-битных процессоров, так и для 64-битных), FreeBSD, NetBSD, Solaris, Mac OS X, BeOS и Haiku.
Разработку начал Саболч Сакачич в июле 2006 года, первый релиз состоялся 21 февраля 2007 года — версия 1.0.
В противоположность драйверу NTFS, включённому в само ядро Linux[3], NTFS-3G поддерживает больше операций с файлами: файлы любого размера могут быть созданы, изменены, переименованы, перемещены или удалены с разделов NTFS, исключая сжатые и зашифрованные файлы. Имеется экспериментальная поддержка изменения списков контроля доступа и прав доступа файловой системы.[4] Разделы NTFS монтируются, используя Filesystem in Userspace (FUSE) в структуру пользовательского пространства FHS.
NTFS-3G поддерживает различные правила относительно имен файлов (DOS, Windows, POSIX), однако в целях совместимости по умолчанию включен режим совместимости POSIX[5]. Это означает что в качестве имени файла допустимы любые символы (в том числе запрещенные в оригинальной NTFS *
, :
, ?
, "
) за исключением /
(слэш) и \0
(ноль-символ). Например:
Чтобы драйвер NTFS-3G поддерживал ограничения имен файлов оригинальной NTFS (и тем самым гарантировать открытие в Windows сохраненного в Linux файла), необходимо принудительно включить опцию windows_names
, например при монтировании раздела[7]: