Miałem okazję bawić się wersją 7.o jeszcze w becie w2k8. Potem jakoś długo nie miałem potrzeby do niego siadać, aż w końcu dostałem zadanie konfiguracji w produkcji. realne scenariusze są zawsze dobrym testem i ten ftp go nie przeszedł. niewątpliwie nie ma porównania z tym czymś, co było do wersji w2k8 [oficjalnie – bo 7.o trzeba było zassać z iis.net]. wersja 7.5 nie zmieniła wiele, ale jak można przeczytać – podstawową zmianą jest rozszerzalność [extensibility], więc może powstaną jakieś sensowne modyfikacje.

jest FTPS. jest nowy interfejs spójny z całym IIS [i działa appcmd]. jest możliwość skorzystania z kont asp.net. i nie ma nic z tego, co od lat pamiętam z opensourcowych serwerów typu proFTPd czy glFTPd. ta usługa zawsze była totalnie zaniedbana i taka nadal pozostała.

Czego braqje:

  • najmniej ważny szczegół – przy ustawieniu listingu unix-style zawsze zwracane jest “rwxrwxrwx” – bez względu na realne uprawnienia
  • izolacja użytkowników jest, ale dla wszystkich lub nikogo – totalna głupota
  • nie ma możliwości zdefiniowania katalogu domowego użytkownika – jest to na sztywno localuser%username%
  • brak możliwości definiowana katalogu domowego dla grupy
  • dodatkowy poziom zabezpieczeń w konfiguracji FTP [poza NTFS] niewiarygodnie granularny: są uprawnienia read i write lol O_o.
  • i setek parametrów typu komunikat per user, bandwith control, ratio i tak dalej… ale to szczegóły (;

tyle ile rzuciło mi się przez kilka godzin, które spędziłem na wymyślaniu obejścia tych niedogodności. Scenariusz:

jest sobie jakaś struktura katalogów jeszcze z ftp na wersji 2k, dość złożona, dodatkowo share’y – generalnie klient nie za bardzo chciałby to restrukturyzować, ograniczony czas blablabla.. komputer nie jest w domenie z różnych względów i część użytkowników musi mieć dostęp tylko do własnego katalogu. piqś. jak się okazuje nie dla iis bo izolację kiedy się włączy, to jest dla wszystkich no i nazwa katalogu domowego jest niedefiniowalna. początkowo obejście było dość proste:

  • obok istniejącej struktury katalogów założyłem nowy katalog – “extFTP” a w nim bez-sensu-obligatoryjny “localUser”
  • w ftp włączyłem izolację
  • pozakładałem katalogi virtualne dla userów [bez-sensu-z-taką-samą-nazwą-jak-user]

so far so good. ponieważ userzy są wyizolowani nie widzą, że zmieniły im się nazwy katalogów. problemem jest teraz zrobienie dostępu dla użytkowników .. powiedzmy superusers, którzy mają mieć dostęp do całej struktury. ponieważ nie ma możliwości ustawienia katalogu domowego dla grupy są dwa wyjścia – albo dodatkowy ftp [inny port/inne ip/inny header], albo zakładać katalogi dla wszystkich userów. pierwsza opcja w tym przypadq nie mogła być wykonana [niemożna zarejestrować nazw/jedno ip/nie może być innego portu], pozostaje tylko zakładanie katalogów. w tym przypadq miałem szczęście bo userów było niewielu, ale przy bardziej złożonych scenariuszach… no generalnie co za kretynizm z tymi katalogami domowymi… uff.. no i ta wymuszona ścieżka – mam nadzieję, że jest na to jakiś hack i da się to jakoś zmienić, ale nie udało mi się takiej informacji póki co znaleźć. dzięki katalogom wirtualnym, superuserzy widzą całą strukturę tak, jak dotychczas – homedir każdego z nich był vdirem wskazującym na starty rootftp. w uproszczeniu struktura wygląda teraz tak:

image

no i te dziwne uprawnienia – oczywiście najfajniejsze w ftp windowsowym było zawsze to, że dostęp ustawia się za pomocą uprawnień NTFS. proste, jasne, granularne, dobrze znane, spójne z całym systemem. w nowym ftp pojawia się dodatkowy poziom – FTP Authorization, w którym można zdefiniować usera/grupę i nadać mu [allow] lub odebrać [deny] jedno z dwóch uprawnień – read lub/i write. wprowadza to niejasność i w sumie podszedłem to tego tak, jak z shareami – full dla wszystkich na udziale i przycinanie uprawnień na poziomie NTFS. domyślam się, że nadawanie z poziomu ftp przydaje się, kiedy używa się ról/userów asp.net bo w takim przypadq NTFS nie jest w stanie odróżnić kto jest kto – ale nie podoba mi się jak to zostało zaprojektowane [np, taka opcja mogłaby być tylko wtedy, kiedy z takich userów się korzysta]. no i podczas wpisywania nazw grup/userów nie ma opcji ‘browse’ więc trzeba uważać na literówki – jakby trudno było zrobić dodatkowy guziczek…

nie miałem czasu rozglądać się czy są jakieś rozszerzenia do FTP 7.5 – być może da się z tym zrobić coś więcej. to co oferuje standardowo pozostawia sporo do życzenia.

n.

-o((:: sprEad the l0ve ::))o-

Comments (4)

  1. Odpowiedz

    Szczerze to mnie też ten nowy FTP denerwuje. Niby zwiększona funkcjonalność z drugiej strony brak elastyczności, które mają produkty opensourcowe. Może chodzi o to, że zawężenie funkcjonalności powoduje ułatwienie supportu. Zresztą coraz częściej brakuje mi elastyczności w produktach komercyjnych :(

  2. Odpowiedz

    teoria spiskowa, w jaka jestem gotow uwierzyc to taka, ze FTP jest protokolem nielubianym – tryb passive, klopoty z obsluga przez FW. microsoft FTP nigdy nie lubil i w2k8 olali temat, a teraz wydali cos tak troche 'na odwal sie’ – zeby pasowalo reszty. na pewno nie jest to komponent o ktory sie martwia.

  3. Odpowiedz

    Wiem, wiem skoro firmy mają VPN to po co im FTP wystawiony na świat. Przecież jak się ktoś dobije do firmy to po cholerę ma korzystać z nielubianego FTP:/
    Jednak skoro robią reklama, że jest nowy IIS a w nim nowy FTP, no to jednak powinno być to trochę lepiej zrobione.

  4. Omen

    Odpowiedz

    Kur** mać :P Mam dość tego porąbanego win2k8 i IIS 7…
    Rozumiem robić bubel dla desktopów :P
    Ale produkt który ma być na serwerze?
    Próbowałem postawić na IBM Netfinity… drivery do scsi wszystko ładnie działa – nawet hot swapa udało mi się zrobić :P
    Ale jak już przyszło co do czego konfiguracja systemu pod usługi…
    Boże… postawić stronke czy głupiego FTP-a albo mieć zdalny dostęp do powłoki w stylu konsoli to już masakra…
    Wszystko chodzi o to że jak kupuje się licencje to w warunkach serwerowych support microsoftu musi coś robić i trzeba ich się wtedy radzić.
    Bawiłem się win2000,2003 i 2008 server – wszystkie beznadziejne.
    Najlepszy jednak jest linux lub BSD a jeżeli chcemy coś w podobie windowsa to SLES.
    Pozdrawiam wszystkich którzy połamali sobie zęby na win server ;)

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Time limit is exhausted. Please reload CAPTCHA.