Na moim komputerze Mac używam nieprzypisanej partycji HFS do udostępniania plików między OSX 10.8 a Ubuntu 12.04.
Na początku była to miła myśl, ponieważ Time Machine automatycznie wykona kopię zapasową woluminu w OSX, ale wkrótce zauważyłem, że OSX i Ubuntu bałaganią za pozwoleniem w sposób, który sprawia, że wszystko jest dla mnie bałagan.
Tak więc, aby w pełni przeglądać i zmieniać pliki, nadal używam chmod
uprawnień, które pozwolą mi w pełni korzystać z dokumentu. Ale nie rozumiem, dlaczego muszę zachować stosowania zmian w kółko .
Czy można na stałe ustawić jakieś zezwolenie, aby oba systemy operacyjne były stale przestrzegane?
Chyba 777 zadziała, ale pomyślałem, że nie jest to mądre. Ale dopóki „inni” nie uzyskają pełnego dostępu (trzecia siódemka), widzę ikonę kłódki na pliku w Ubuntu.
12.04
macosx
partitions
hfs+
Seth
źródło
źródło
774
uprawnień.Odpowiedzi:
Nazwy użytkowników są nieistotne. Uprawnienia w systemach plików macierzystych dla systemu plików HFS + i Linux są przechowywane w postaci identyfikatorów użytkowników (UID), które są liczbami powiązanymi z nazwami użytkowników. W Ubuntu, podobnie jak w większości współczesnych dystrybucji Linuksa, pierwszy użytkownik otrzymuje domyślnie UID 1000. W OS X pierwszy użytkownik otrzymuje domyślnie identyfikator UID 501. Dlatego podczas udostępniania mediów, które kodują wartości UID, wartości UID prawdopodobnie się nie zgadzają.
Jednym ze sposobów rozwiązania tego jest ustawienie luźnych uprawnień (wartość trybu, jak w
rwxr-xr-x
, lub 755 w ósemce). Zauważ, że ósemkowy kod uprawnień nie jest taki sam jak wartość UID. W dowolnym systemie operacyjnym można ustawić domyślne uprawnienia używane do plików za pomocąumask
polecenia, które określa wartość bitu do usunięcia z uprawnień do plików. Na przykładumask 022
usuwa uprawnienia do zapisu dla grupy i inne uprawnienia, w wyniku czego 755 (rwxr-xr-x
) uprawnienia do nowych plików (lub 644, jeśli coś usuwa bit uprawnień do wykonywania, co jest powszechną praktyką w przypadku plików). Jest to jednak głównie narzędzie wiersza polecenia; jeśli w dużej mierze jesteś użytkownikiem GUI, musisz znaleźć inne narzędzie do wykonania zadania, prawdopodobnie związane z domyślnymi ustawieniami środowiska pulpitu. Może to być niejasne i źle udokumentowane. Także ustawianie luźnych uprawnień w ten sposób może mieć wady bezpieczeństwa, szczególnie jeśli twój jest systemem dla wielu użytkowników.Lepszym rozwiązaniem jest zsynchronizowanie identyfikatorów UID konta w systemie Linux i OS X. Możesz łatwo zmienić wartość UID w systemie Linux za pomocą
usermod
polecenia, jak w:To polecenie ustawia identyfikator UID na
dale
501. Istnieją jednak pewne istotne zastrzeżenia:usermod
musi być użyty jakoroot
. Możesz go wykonać za pośrednictwemsudo
, ale robiąc to z konta, które modyfikujesz, jest skrajnie niewskazane. Dlatego musisz podaćroot
hasło i zalogować sięroot
bezpośrednio lub użyćsudo
konta drugiego użytkownika.usermod
Komenda nie zmieni własność wszystkich plików posiadanych przez danego użytkownika. Aby dostosować własność tych plików, musisz je zlokalizować, a następnie zmienić ich własność za pomocąchown
. Większość plików będzie w katalogu domowym użytkownika, więcchown -R dale: /home/dale
wpisane tak , jakroot
po zmianiedale
identyfikatora UID, zmieni większośćdale
plików tak, aby używały nowego numeru UID. Niektóre pliki użytkownika mogą jednak znajdować się gdzie indziej. Wpisaniefind / -uid 1000
znajdzie wszystkie pliki, które używają starego UID (zakładając, że był to 1000). Pamiętaj, że wykonanie tegofind
polecenia prawdopodobnie potrwa kilka minut. Aby przyspieszyć, odmontuj wszystkie systemy plików, w których masz pewność, że nie znajdzie żadnych trafień, takich jak woluminy FAT lub NTFS./etc/fstab
pozycji, może być konieczne dostosowanie podanej wartości UID./etc/login.defs
. Jeśli nie zmieniszUID_MIN
wartości w tym pliku, prawdopodobnie odkryjesz, że Twoje konto „zniknie” z ekranu logowania GUI i być może z innych systemów. Dlatego powinieneś edytować ten plik.Teoretycznie można zmienić identyfikator UID konta OS X w podobny sposób, aby osiągnąć ten sam cel. Jednak mniej znam się na narzędziach do zarządzania kontem OS X, więc nie mogę podać jednoznacznych instrukcji. Dostosowanie wartości OS X miałoby tę zaletę, że nie trzeba dostosowywać
UID_MIN
w systemie Linux.Jeśli masz wiele kont na swoim komputerze, powinieneś je wszystkie dostosować, aby były zsynchronizowane we wszystkich instalacjach systemu operacyjnego.
Jeszcze jeden punkt: wartość identyfikatora grupy (GID) jest przechowywana w podobny sposób. IIRC, Ubuntu przypisuje wartość GID dla każdego konta, która jest identyczna z jego wartością UID. Domyślnie nie pamiętam, co robi OS X. Możesz dostosować wartości GID dla dwóch systemów operacyjnych w sposób analogiczny do zmian UID, ale nie jest to tak ważne, jak dostosowanie wartości UID.
EDYCJA: Jeśli chcesz zmienić swój UID (i GID, jeśli to pożądane) w macOS / OS X zamiast w Ubuntu, możesz to zrobić. Ponieważ ta modyfikacja w systemie macOS wykracza poza zakres tej witryny, po prostu odsyłam do kilku stron, które zawierają procedury umożliwiające wykonanie tego w systemie macOS:
źródło
UID_MIN
.Przekonałem się, że czasami możesz kliknąć folder, który chcesz udostępnić, i nacisnąć klawisze Command + I. Następnie kliknij blokadę i wprowadź hasło, jeśli nie jest odblokowane, a następnie w miejscu, w którym jest napisane „wszyscy”, wybierz opcję odczytu i zapisu.
Kolejną rzeczą, która działa, jest skonfigurowanie folderu jako „folderu współdzielonego”, można to zrobić w panelu preferencji udostępniania w preferencjach systemowych.
Przejdź do preferencji systemowych> udostępnianie> udostępnianie plików. Następnie udostępnij, aby pole udostępniania plików było zaznaczone, i dodaj folder, który chcesz udostępnić, za pomocą przycisku plus. Następnie możesz zmienić uprawnienia do odczytu zapisu.
JEDNA UWAGA: użycie drugiej opcji spowoduje również otwarcie komputera, aby umożliwić dostęp do wybranego folderu przez Internet (tylko podczas uruchamiania w systemie OS X) !! Udostępnij, że masz bezpieczne hasło i prawdopodobnie je wyłączysz w miejscach publicznych (nie zapomnij zdobyć kapelusza z folii aluminiowej!)
źródło
774
.Otwórz terminal i:
W systemie OS X spróbuj tego
W Ubuntu uruchom to
Teraz powinieneś być w stanie używać,
774
a nawet770
uzyskiwać uprawnienia do plików.źródło
<ubuntu-username>
swoją rzeczywistą nazwę użytkownika w Ubuntu (idem dla<os-x-usernanme>
)? Czy możesz bardziej szczegółowo określić, jakie błędy popełnił system OS X podczas próby uruchomienia tego polecenia?adduser
nie kończy się.