Montuj partycję NTFS podczas uruchamiania, z użytkownikiem innym niż root jako właściciel

28

Obecnie instaluję partycję NTFS podczas uruchamiania, używając następującego wiersza w pliku / etc / fstab:

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

W mojej instalacji Ubuntu 11.10 wygląda na to, że wszystkie pliki i foldery są własnością root- a ponieważ NTFS i tak tak naprawdę nie obsługuje tego samego systemu zarządzania prawami, nie mogę zmienić tego po zakończeniu montowania. Bez względu na to, co zrobię, ls -lgdziekolwiek na partycji NTFS wyświetli się każdy plik i folder jako należący do root:root.

Powoduje to jednak pewne problemy. Co najważniejsze, niektóre aplikacje działające na moim koncie (nazywane tomas) narzekają na prawa dostępu. Ponadto za każdym razem, gdy próbuję skopiować ( cp) lub przenieść ( mv) pliki z jednej z moich partycji ext3 na partycję NTFS, pojawia się komunikat o błędzie

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

lub podobnie

mv: preserving permissions for ...

Czy zamontowanie partycji w moim imieniu zamiast pomocy roota? Jeśli tak, jak mam to zrobić w fstab?


Aktualizacja:

Teraz zmieniłem opcje zgodnie z sugestiami i doszedłem do tego:

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

ls -lteraz pokazuje wszystkie pliki będące własnością mnie zamiast roota i wydaje się, że niektóre problemy, które miałem wcześniej, zostały rozwiązane. Jednak nie wszystkie z nich.

Kiedy uruchamiam Eclipse, pojawia się błąd, że nie można uruchomić pliku związanego z Android-SDK: Odmowa dostępu. ls -lmówi mi o pliku:

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

To wygląda tak, jak tego chcę. Ale jeśli spróbuję go uruchomić ( ./adbw terminalu), dostaję również błędy odmowy uprawnień. Ale jeśli go uruchomię sudo, zadziała (wierzę - przynajmniej nie wyświetla mi się komunikat o błędzie, ale w ogóle nie daje żadnych wyników, co moim zdaniem nie powinno ...)

Dlaczego powyższy plik z uprawnieniami do wykonywania dla każdego nadal nie jest wykonywalny przez nikogo innego root? Jak zmienić sposób, w jaki podłączam system plików?


Aktualizacja 2:

OK, teraz poszedłem trochę dalej. Montaż za pomocą tych opcji

nls=iso8859-1,permissions,users,auto

Mam wszystkie uprawnienia ustawione zgodnie z oczekiwaniami chowni chmodfaktycznie zmieniam ustawienia plików (przynajmniej zgodnie z ls -l) = D

ALE mój system wciąż zachowuje się w dziwny sposób. Uprawnienia do adbpliku skryptu pojawiają się jak wyżej, ale ani ja, ani Eclipse nie możemy go uruchomić bez błędów „Odmowa zezwolenia”. Ale o ile widzę, plik ma ustawione wszystkie wymagane flagi ( o=rwxpowinno wystarczyć, prawda?). Dlaczego to nie działa?


Aktualizacja 3

OK, mam wszystko, co działa po stronie Ubuntu, z następującymi opcjami:

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

Jednak gdy próbuję uzyskać dostęp do plików na partycji z systemu Windows, wszystkie ustawienia zabezpieczeń są pomieszane. We wszystkich plikach (z tych kilku, które sprawdziłem) Account Unknown(long GUID)do listy użytkowników dodano nowe konto o nazwie i ma pełne prawa. Rigth dla większości innych użytkowników są zmniejszone, więc nie mam uprawnień do robienia rzeczy, których oczekuję. W szczególności „Wszyscy” nie wydają się mieć prawa do „Przechodzenia folderu / wykonywania”.

To może być rozwiązywalne tylko przez wybranie partycji i umożliwić wszystkim robić nic na folderze głównym, a następnie powiedzieć to to zrobić rekursywnie, ale wolałbym nie tak obawiam się, że będzie trwać kilka dni, aby zakończyć ...

Tomas Aschan
źródło
2
Od montażu (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). Dodaj więc execswoje opcje i uważam, że problem odmowy wykonania powinien zostać rozwiązany.
poniżej
Czy kiedykolwiek udało ci się to rozwiązać po aktualizacji 3? ... W pewnym momencie próbowałem wykonać kopię zapasową rsync mojego systemu Linux na dodatkowym dysku NTFS, który miałem, ale po wielu poszukiwaniach doszedłem do wniosku, że nigdy nie mogę umieścić pełnego zakresu informacji o systemie plików Linux na NTFS FS. (Być może mógłbym zbliżyć się tak, jak to zrobiłeś powyżej, ale w końcu linux nie mapuje się zbyt dobrze na NTFS.)
Widok eliptyczny
@Elipticalview: To jest dawno temu i nie mam już tego samego komputera. Czy próbowałeś zaakceptowanej odpowiedzi?
Tomas Aschan

Odpowiedzi:

25

W kolumnie opcji dodaj permissionsi auto(i prawdopodobnie userlub users)

nls=iso8859-1,permissions,users,auto
  • permissions: (Opcja NTFS-3G) Ustaw standardowe uprawnienia do tworzonych plików i użyj standardowej kontroli dostępu.
  • auto: Zostanie zamontowany przy rozruchu i od mount -a
  • user: Pozwól zwykłemu użytkownikowi zamontować system plików
  • users: Zezwól każdemu użytkownikowi na podłączenie i odmontowanie systemu plików

Następnie zmień własność systemu plików:

sudo chown -R thomas:thomas /media/data 

Moja linia /etc/fstab

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

Uprawnienia do montowania i wyświetlania listy

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

Zmień własność i podaj nowe uprawnienia

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

Domyślnie ntfs-3g montuje partycję noexec, nosuid i nodev.

  • noexec: Nie zezwalaj na bezpośrednie wykonywanie jakichkolwiek plików binarnych w podłączonym systemie plików.
  • nosuid: Nie należy zezwalać na działanie bitów identyfikatora zestawu lub identyfikatora grupy.
  • nodev: Nie interpretuj znaków ani nie blokuj urządzeń specjalnych w systemie plików.

Aby to zmienić i zezwolić na wykonywanie plików, użyj exec

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

Teraz rozumiemy

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

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

bodhi@ufbt:~$ /media/ntfs/file
It works
Pantera
źródło
Hm ... po dodaniu tego do fstab (ustawienie kolumny opcji hte w następujący sposób nls=iso8859-1,permissions,users,umask=000:) i ponownym uruchomieniu mogę teraz przenosić i kopiować pliki bez komunikatów o błędach. Wszystkie pliki są jednak nadal własnością root:root, nawet później sudo chown -R tomas:tomas /media/data. Na razie nie wydaje się to problemem, ale z ciekawości: dlaczego?
Tomas Aschan
Myślę, że z powodu twojegoumask=000
Panther
Nie, umask=000jest równoważne z chmod 777- umask określa wszystkie flagi, których nie chcesz ustawiać w plikach. Zgadzam się, że to sprzeczne z intuicją, ale wszystko jest tutaj: ubuntuforums.org/showpost.php?p=9092899&postcount=4
Tomas Aschan
Zaktualizowałem swoje pytanie o dalsze informacje na temat tego, czego próbowałem i wyników.
Tomas Aschan
1
Hm ... Na razie muszę to odznaczyć: okazuje się, że to pomieszało uprawnienia podczas czytania plików z systemu Windows ...
Tomas Aschan
2

Użyj opcji uidi gid(lub skorzystaj z funkcji mapowania użytkowników) mount.ntfs (8)

tumbleweed
źródło
1
Innymi słowy, dodaj uid = ktokolwiek do linii fstab
psusi
uidi giddziałają, ale uprawnienia są teraz obsługiwane w ntfs-3g, a te opcje są permissionsdostępne. Patrz: b.andre.pagesperso-orange.fr/permissions.html
Panther
Zaktualizowałem swoje pytanie o dalsze informacje o tym, czego próbowałem i jakie wyniki uzyskałem. Proszę spojrzeć =)
Tomas Aschan
Czy możesz zaktualizować wpis fstab i usunąć identyfikator UID, GID i Umask, po prostu nls=iso8859-1,permissions,usersodmontować i ponownie zamontować partycję?
Panther
@ bodhi.zazen: Wracamy do pierwszego. Pliki są wyświetlane jako posiadane przez, root:roota Eclipse narzeka na uprawnienia.
Tomas Aschan
2

Mój działa teraz idealnie, kiedy zmieniam linię fstab na

UUID=761C84B31C846FC3 /media/d        ntfs    defaults,umask=022,uid=1000 0       0
e01
źródło
1

Co z używaniem udisks? Może łatwo montować partycje NTFS z użytkownikiem jako właścicielem.

Przykład (wpisz go w wierszu polecenia):

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

Możesz także dodać to polecenie do aplikacji startowych i będzie ono montowane automatycznie po zalogowaniu.

Odniesienie: AutomaticallyMountPartitions

amfcosta
źródło