Strona 1 z 1

Serwer www z proftpd i quotą dyskową

: 29 maja 2013, 23:36
autor: piroaa
Dzień dobry.

Mam do uruchomienia serwer www z możliwością wgrywania plików przez poszczególnych użytkowników przez FTP do swoich katalogów oraz kilku deweloperów, którzy będą mieli możliwość wrzucania plików do katalogów wszystkich użytkowników. Dodatkowo musi to działać z quotą dyskową tak aby ktoś nie zapchał całego dysku.

Mam tylko mały dylemat, jak to wszystko sprawnie i nieskomplikowanie zorganizować?

Wykombinowałem kilka wariantów:
  1. W przypadku użytkowników systemowych wszystko działa bardzo prosto jeśli chodzi o quotę, gorzej jeśli deweloper coś pozmienia, zmieni się wtedy właściciel pliku.
  2. Użytkowników w SQL łatwo dodawać są do tego nawet jakieś gotowce w PHP, gorzej z quotą bo wszystkie pliki należą zawsze do jednego wybranego użytkownika, no i tu z pomocą przychodzi acl. Niestety, trzeba tworzyć użytkowników systemowych i całe dobrodziejstwo z łatwości dodawania użytkowników poszło. mod_quotatab odpada przez deweloperów, którzy mogą zawsze coś komuś dorzucić do katalogu.
Jak wy macie załatwioną taką kwestię u siebie na serwerach? Będę wdzięczny za sugestię.
Pozdrawiam.

: 30 maja 2013, 08:42
autor: Bastian
W przypadku użytkowników systemowych wszystko działa bardzo prosto jeśli chodzi o quotę, gorzej jeśli deweloper coś pozmienia, zmieni się wtedy właściciel pliku.
Nie rozumiem tego twierdzenia. Właściciel pliku się nie zmieni, jeżeli plik zostanie edytowany przez ,,nie właściciela''.

: 30 czerwca 2013, 21:35
autor: piroaa
Deweloperzy modyfikują pliki lokalnie potem podmieniają co trzeba w katalogu konkretnego klienta i dodają zupełnie nowe jeśli jest taka potrzeba.

Struktura wygląda mniej więcej tak:

Kod: Zaznacz cały

            +---[B]użytkownik[/B]1
            |
       / ---+---[B]użytkownik[/B]2
            |
            +---[B]użytkownik[/B]3
Jak wspominałem każdy użytkownik ma dostęp tylko do swojego katalogu i z niego nie wychodzi. Natomiast, katalogiem wszystkich deweloperów jest, w tym przypadku, /. Dzięki temu mogą zmieniać co potrzeba u każdego z użytkowników (dodawać i usuwać).

Dodane:
Na razie doszedłem do czegoś takiego, użytkownik www-data dla wszystkich prawa 750 dla katalogów i 640 dla plików, nginx oraz php uruchomione z prawami użytkownika www-data.

Chciałem zrobić tak żeby grupą też zawsze była www-data, zmienić użytkownika dla ftp na innego niż www-data. Dzięki temu z poziomu php mógłbym pisać tylko w wybranych lokalizacjach. Dla każdego katalogu planowałem ustawić domyślną wartość acl na konkretną istniejącą w systemie grupę. Dzięki temu, każdy nowo tworzony plik będzie należał do odpowiedniej grupy, niestety jak się okazało quota i acl nie gadają ze sobą w ogóle.

W związku z tym, dla partycji z plikami www ustawiłem opcję nosuid, oraz dodałem guid dla głównego katalogu użytkownika. Wygląda to dziwnie ale okazuje się, że działa. Dzięki temu każdy plik tworzy się z grupą taką jak potrzebuję, a nie działają dodatkowe przywileje związane z suid oraz sgid, dzięki temu działa mi też normalna quota dla grupy.

Trochę to pokręcone ale na chwilę obecną nie bardzo jestem w stanie nic innego wykombinować.
Jeśli macie jakieś sugestie jak to usprawnić to jestem gotowy na wszelkie porady.
Pozdrawiam.