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 -l
gdziekolwiek 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 -l
teraz 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 -l
mó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ć ( ./adb
w 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 chown
i chmod
faktycznie zmieniam ustawienia plików (przynajmniej zgodnie z ls -l
) = D
ALE mój system wciąż zachowuje się w dziwny sposób. Uprawnienia do adb
pliku 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=rwx
powinno 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ć ...
źródło
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ęcexec
swoje opcje i uważam, że problem odmowy wykonania powinien zostać rozwiązany.Odpowiedzi:
W kolumnie opcji dodaj
permissions
iauto
(i prawdopodobnieuser
lubusers
)permissions
: (Opcja NTFS-3G) Ustaw standardowe uprawnienia do tworzonych plików i użyj standardowej kontroli dostępu.auto
: Zostanie zamontowany przy rozruchu i odmount -a
user
: Pozwól zwykłemu użytkownikowi zamontować system plikówusers
: Zezwól każdemu użytkownikowi na podłączenie i odmontowanie systemu plikówNastępnie zmień własność systemu plików:
Moja linia
/etc/fstab
Uprawnienia do montowania i wyświetlania listy
Zmień własność i podaj nowe uprawnienia
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
Teraz rozumiemy
źródło
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óźniejsudo chown -R tomas:tomas /media/data
. Na razie nie wydaje się to problemem, ale z ciekawości: dlaczego?umask=000
umask=000
jest równoważne zchmod 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=4Użyj opcji
uid
igid
(lub skorzystaj z funkcji mapowania użytkowników) mount.ntfs (8)źródło
uid
igid
działają, ale uprawnienia są teraz obsługiwane w ntfs-3g, a te opcje sąpermissions
dostępne. Patrz: b.andre.pagesperso-orange.fr/permissions.htmlnls=iso8859-1,permissions,users
odmontować i ponownie zamontować partycję?root:root
a Eclipse narzeka na uprawnienia.Mój działa teraz idealnie, kiedy zmieniam linię fstab na
źródło
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):
Możesz także dodać to polecenie do aplikacji startowych i będzie ono montowane automatycznie po zalogowaniu.
Odniesienie: AutomaticallyMountPartitions
źródło