Mam dwa serwery Linux:
serwer plików
Debian 5.0.3 (2.6.26-2-686)
Samba wersja 3.4.2
apache
Ubuntu 10.04 LTS (2.6.32-23-generic)
Apache 2.2.14
Mam wiele udziałów Samby na serwerze plików, dzięki czemu mogę uzyskać dostęp do plików z komputerów z systemem Windows. Eksportuję również /data/www-data
na serwer Apache , gdzie mam go zamontowany jako /var/www
.
Konfiguracja jest w porządku, z wyjątkiem sytuacji, gdy przychodzę tworzyć pliki na podstawie NFS. W rezultacie otrzymuję pliki, których Apache nie może odczytać lub których inni użytkownicy w moim systemie nie mogą modyfikować.
Z Sambą, mogę określić force user
, force group
, create mask
i directory mask
, a to gwarantuje, że wszystkie pliki zostały utworzone z odpowiednimi uprawnieniami do mojego serwera WWW Apache. Nie mogę znaleźć sposobu, aby to zrobić za pomocą NFS. Czy istnieje sposób wymuszenia uprawnień i własności w NFS - czy brakuje mi czegoś oczywistego?
Mimo, że spędziłem sporo czasu z Linuksem i odsuwam się od systemu Windows, nadal nie mam do czynienia z uprawnieniami Linuksa ... Jeśli nie jest to właściwy sposób na zrobienie czegoś, jestem otwarty na alternatywne sugestie.
źródło
www-data
grupę na serwerze plików, przypisałem niezbędnych użytkowników, a następnie ustawiłem ten samwww-data
identyfikator grupy na obu serwerach. Ustawiłem również bity grupy w/data/www-data
folderze za pomocąchmod -R g+s /var/www-data
. Teraz działa idealnie. Dzięki za pomoc.Możesz także skorzystać z
all_squash
opcji, która powoduje, że anonimowe (użytkownik i grupa) wszystkie eksportowane pliki i folder są dołączane do określonego identyfikatora GID i identyfikatora UID.Problem polega na tym, że wszyscy użytkownicy na
apache
serwerze zobaczą twój punkt montowanianobody nobody
jako użytkownik i grupa i mogą pisać w mount (ale tak czy inaczej, na serwerze Samba pliki zostaną utworzone jako<your UID>
/<your GID>
).źródło