Zgodnie z sekcją Własność i uprawnienia dokumentacji NTFS-3G, możemy użyć opcji montowania, aby kontrolować dostęp do plików i ich tworzenie . Kombinacje są bardzo skomplikowane (patrz dwie tabele tam). Też nie czytam i nie rozumiem ich wszystkich. Na przykład nie wiem, czy listy ACL POSIX są wybierane podczas kompilacji, czy nie z pakietu binarnego NTFS-3G. Ale najlepsze, co wyszedłem, to użycie pliku mapowania użytkowników w połączeniu z niektórymi opcjami montowania w celu przybliżenia prawdopodobnego odwzorowania własności pliku i uprawnień między systemem Windows i Linux.
Ostrzeżenie : To jest tylko to, co działa najlepiej w przypadku mojego udostępniania partycji danych NTFS (dysk D:
w systemie Windows) między podwójnie uruchomionym systemem Windows 8 a Kubuntu 14.04. Instrukcje są zapisywane z dokładną retrospekcją, ale nie są dokładnie testowane. Powtarzanie całej procedury jest zbyt męczące i żmudne. Postępuj zgodnie z nim na własne ryzyko. Ale jeśli tak, podziel się swoim doświadczeniem. Jeśli zdecydujesz się postępować zgodnie z instrukcjami, przeczytaj je w całości, aby mieć cały obraz przed faktycznym działaniem. Powodzenia!
Dobra, proszę bardzo! Szczegółowe instrukcje składają się z trzech części. Część 1 powinna zostać przeprowadzona w systemie Windows, a część 2 w systemie Linux. Część 3 jest do testu.
Część 1
Sekcja Mapowanie użytkowników w dokumentacji NTFS-3G określa dwie wersje do skonfigurowania mapowania użytkowników między Windows i Linux, jedną wersję Windows i jedną wersję Linux. Moje doświadczenie było to, że wersja Linux skończyło się z Miss . Konto Linux nie zostało zamapowane na moje konto Windows, ale jakieś nieznane konto pojawiło się pod SID . Rezultatem był bałagan, ponieważ to nieznane konto przejmuje własność wszystkich plików mojego konta Windows. W takiej sytuacji, o ile nie masz przywileju administracyjnego do odzyskania własności, pliki na koncie Windows stają się niedostępne. Ale nawet jeśli sobie poradzisz, nadal tak jestzłe mapowanie. Oznacza to, że później wszelkie pliki utworzone w systemie Linux zostaną przypisane do tego nieznanego konta w systemie Windows, a pliki w systemie Windows zostaną przypisane do rootowania w systemie Linux (o ile dobrze pamiętam). Tak więc w systemie Windows musisz ponownie przejąć własność, a w systemie Linux zmienić własność. Nie tego się spodziewamy. Po kilku beznadziejnych próbach rozwiązania problemu poddałem się i wróciłem do wersji Windows. Ten zadziałał. Szczegółowe instrukcje wyodrębnione z odpowiedniej sekcji dokumentacji NTFS-3G są następujące:
Pobierz narzędzie usermap , wypakuj je gdzieś (w moim przypadku dysk C:
), lepiej poza partycją NTFS (w moim przypadku dysk D:
), aby je udostępnić.
Otwórz wiersz poleceń systemu Windows. Przejdź do wyodrębnionego katalogu tools
(domyślnie) usermap
narzędzia. Następnie uruchom następujące polecenie:
C:\tools> mapuser > UserMapping
To generuje szablon i przekierowuje go do pliku o nazwie UserMapping
. Otwórz plik za pomocą edytora tekstu, powiedzmy Notatnik, powinieneś zobaczyć następujące linie:
# Generated by usermap for Windows, v 1.1.5
# For Windows account "Account" in domain "Domain"
# Replace "user" and "group" hereafter by matching Linux login
user::SID
:group:SID
Przypuszczalnie pierwszy SID
powinien być identyfikator SID użytkownika, a drugi identyfikator SID grupy. Możesz je sprawdzić odpowiednio za pomocą poleceń whoami /user
i whoami /groups
.
Po upewnij się, że identyfikatory są poprawne, postępując zgodnie z instrukcjami w komentarzu, że jest zmiana user
w user::SID
kolejce do swojej nazwy użytkownika i group
na :group:SID
linii do swojej pierwotnej nazwy grupy w systemie Linux. W Ubuntu są takie same. Ponadto dodaj nazwę grupy Linux również po pierwszym dwukropku user::SID
linii. Linia powinna więc wyglądać mniej więcej tak user:group:SID
. Wygląda na to, że jeśli tego nie zrobisz, pliki utworzone w systemie Windows zostaną przypisane do user:root
systemu Linux.
Zapisz plik. Przenieś go do katalogu o nazwie .NTFS-3G
(utwórz go, jeśli jeszcze nie istnieje) na partycji NTFS, aby go udostępnić (w moim przypadku dysk D:
).
Ten krok jest do przetestowania w części 3. Na udostępnionej partycji NTFS utwórz nowy katalog i nowy plik.
Część 2
Teraz uruchom system Linux. sudo
edytować plik /etc/fstab
. Dodaj lub zmodyfikuj wiersz dla współużytkowanej partycji NTFS do czegoś takiego:
UUID=... /data ntfs defaults,umask=077,utf8 0 0
Zasadnicze znaczenie ma ustawienie umask
( dmask
i fmask
może również działać, ale nie testowane). Wybierz dla umask
siebie wartość , chociaż wybrałem 077
. Wydaje się, że bez tego ustawienia zostaną przyznane pełne uprawnienia o
dla nowo utworzonych plików.
Zapisz plik. Teraz sudo mount
lub ponownie podłącz ( sudo umount
i wtedy sudo mount
) udostępnioną partycję NTFS (w moim przypadku /data
):
$ sudo mount /data
Część 3
Teraz (wciąż w systemie Linux) cd
do punktu montowania (w moim przypadku /data
), ls -l
pliki tam. Sprawdź, czy ich własność i uprawnienia są odpowiednio zgodne z podanymi w UserMapping
pliku i umask
ustawionym w /etc/fstab
(dopasowanie między uprawnieniami i umask
wymaga pewnych obliczeń dopełniania, zobacz man (1) umask, aby uzyskać więcej informacji). Jeśli to zrobią, gratulacje, połowa celu zostanie osiągnięta. W przeciwnym razie biedny jesteś. Zapytaj Ubuntu lub Windows.
Następnie utwórz nowy katalog i nowy plik. ls -l
aby sprawdzić ich własność i uprawnienia. Własność powinna być jak zwykle nazwą użytkownika i podstawową grupą. Uprawnienia powinny być zgodne z umask
. Teraz uruchom ponownie komputer i uruchom system Windows. Znajdź na udostępnionej partycji NTFS katalog i plik, który właśnie utworzyłeś w systemie Linux. Sprawdź ich właściwości, aby zobaczyć, czy są przypisane do twojego konta Windows. Jeśli tak, gratulacje, wszyscy jesteście skończeni. W przeciwnym razie pech. Zapytaj Windows lub Ubuntu.
EOF