На самом деле базовую трансляцию прав доступа Linux в ACL можно сделать и это решит хотя бы часть проблем. Программы редакторы файлов для Windows должны же сохранять старые ACL после изменения файла в терминах пользовательского интерфейса. Как вариант можно в ACL добавить UNIX пользователей и группы и возможно и обратно Windows-пользователей и группы в UNIX. В принципе ACL можно поместить базовые права Unix-пользователей для файлов: чтение, выполнение, запись. С установкой прав для владельца файлов, если будет он будет присутсвовать в Windows, в Linux уже не будет проблем, также можно добавить группу UNIX-пользователей, чтобы устанавливать флаги для остальных пользователей в WSL. Остаётся держать эти права в синхронизации.
C SUID уже проблемы, но тут вряд ли Windows программы маловероятно будут редактировать исполняемые файлы для Linux. А для остальных функций WinAPI: (копирования например), сделать так, чтобы они учитывали права Linux в NTFS. Проблему с SUID можно решить костыльно: создать fake-пользователя, присутствие которого будет означать, что запускать с правами владельца или хранить это в реестре, как это делает совместимость приложений.
Насчёт создания нового файла можно для каждого приложения прикрепить контекст UNIX-пользователя. Например, можно чтобы проводник и все приложения Windows работали с правами пользователя user в Linux для файлов WSL. И уже в API предусмотреть смену текущего UNIX-пользователя от которого идёт работа с файлами WSL через Win32-приложения.
Моё IMHO как можно, если не решить, то хотя бы улучшить положение дел с взаимодействии прав WSL-Win32
У меня системный диск смог compact сжать в 1,9 раз, т.е около 100 гигабайт освободилось. Единственная проблема сжатия NTFS в том, что если сжимать большие файлы, то может свободного места для их распаковки-упаковки на диске во время записи не хватить. Кстати ещё со времён XP есть и графический способ включить сжатие в свойствах диска, папки или файла. CompactOS по умолчанию активирован на новых планшетах, где памяти как вы понимаете весьма мало.
C SUID уже проблемы, но тут вряд ли Windows программы маловероятно будут редактировать исполняемые файлы для Linux. А для остальных функций WinAPI: (копирования например), сделать так, чтобы они учитывали права Linux в NTFS. Проблему с SUID можно решить костыльно: создать fake-пользователя, присутствие которого будет означать, что запускать с правами владельца или хранить это в реестре, как это делает совместимость приложений.
Насчёт создания нового файла можно для каждого приложения прикрепить контекст UNIX-пользователя. Например, можно чтобы проводник и все приложения Windows работали с правами пользователя user в Linux для файлов WSL. И уже в API предусмотреть смену текущего UNIX-пользователя от которого идёт работа с файлами WSL через Win32-приложения.
Моё IMHO как можно, если не решить, то хотя бы улучшить положение дел с взаимодействии прав WSL-Win32