FTP-instruks
Indholdsfortegnelse 1. INDLEDNING 3 2. FORSKELLE I FILERNE EFTER MIGRERING 3 3. LINUX FTP-SERVEREN 3 4. MAINFRAME 3 4.1 Instruks 3 4.2 Eksempel 4 5. WINDOWS 6 5.1 Instruks 6 6. UNIX ELLER LINUX 6 6.1 Instruks 6 7. ANDRE OPERATIVSYSTEMER 6 2
1. Indledning Denne instruks er udarbejdet med det formål, at vejlede CPR kontorets kunder i opsætningen af deres respektive FTP-klient, så filer kan hentes i samme format som før migreringen af CPR. Før migreringen kørte CPR systemet på en IBM z/os mainframe. Mainframen anvendte tegntabellen IBM-277 (EBCDIC). Efter migreringen kører CPR systemet på Linux med en Linux-baseret FTP server, og vil anvende tegntabellen ISO-8859-1 (ASCII). Filer/datasæt lægges derforefter migreringen på FTP-serveren i tegntabellen ISO- 8859-1 (ASCII). For at teste denne forskel, anbefales det CPR s kunder, at teste deres FTP-løsninger på ftp-demo.cpr.dk i god tid inden migreringen finder sted. FTP-instruksen indeholder 2 generelle afsnit, der vil være relevante for alle kunder uafhængig af hvilken platform der anvendes. Efter de generelle afsnit vil der være korte instruktioner og eksempler opdelt på de gængse klientplatforme. Da denne FTP-instruks indeholder informationer af mere teknisk karakter, er det en forudsætning, at læseren har et godt kendskab til FTPS/SFTP protokollerne samt anvendelse af en FTP-klient. 2. Forskelle i filerne efter migrering Efter migreringen vil der være følgende forskelle i filerne: Sortering Generelt Sortering PNR Tegnsæt Mainframe Linux bogstaver kommer før tal tal kommer før bogstaver æ, ø, å sorteres først i æ, ø, å sorteres nu alfabetet korrekt sidst i alfabetet I batchprogrammer I batchprogrammer sorteres å efter aa sorteres 'aa' efter 'å' Alders orden Stigende orden IBM-277 (EBCDIC) ISO-8859-1(ASCII) 3. Linux FTP-serveren FTP-serveren er case-sensitiv. Overførsler må ikke være af typen BINARY. Supporteret FTP Commands fremgår her: http://www.proftpd.org/docs/howto/ftp.html. Dog er følgende kommandoer blokeret: CHMOD, MKD, RMD, XMKD, XRMD, og MFMT. Kunden bør ligeledes være opmærksom på ASCII transfers, se http://www.proftpd.org/docs/howto/ascii.html 4. Mainframe 4.1 Instruks Denne instruks er baseret på test af FTPS indgangen (port 321) på CPR s demo-ftp server fra z/os TSO kommandoen FTP. Hvis der anvendes et andet mainframe operativsystem eller en anden FTP klient, kan instruksen måske anvendes alligevel. 3
Det vil efter migreringen ikke længere være muligt, at anvende NETVIEW datasæt-til-datasæt overførsler. CPR s FTP server skal tilgås med sikret forbindelse. Derfor skal kundens FTP klient skal være i stand til at modtage et server certifikat. RACF/SAF brugeren, der udfører FTP, skal derfor have adgang til en KEYRING i RACF/SAF til server certifikatet. Når der hentes filer fra CPR, skal der eksplicit angives DCB oplysninger (RECFM, LRECL og BLKSIZE) for det datasæt, som dannes. Dette sættes med LOCSITE kommandoer (se afsnit 2.2 Eksempel). DCB oplysninger fremgår af kundens tidligere hentede datasæt, og det er disse DCB oplysninger, der fremadrettet skal angives i FTP efter migreringen. Ved aflevering af filer til CPR har datasættets DCB oplysninger ingen funktion. Det er FTP serveren, der ved angivelsen af jobparameteren ASCII (se nedenstående job-eksempel) omformer filens indhold mellem tegntabellen ISO-8859-1 og tegntabellen IBM-277 både ved download og upload. 4.2 Eksempel Nedenstående eksempel viser et job, der henter et datasæt fra CPR: //FTPTEST JOB (000), // MSGLEVEL=(1,1),MSGCLASS=T //TSOSTEP EXEC PGM=IKJEFT01,DYNAMNBR=20 //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * ftp -e ftp-demo.cpr.dk 321 -a tls //INPUT DD * MMFTPBJS geheim27 ASCII LOCSITE FWFRIENDLY LOCSITE RECFM=VB LOCSITE LRECL=2100 LOCSITE BLKSIZE=27300 CD ud GET d131115.l999902 DEMOCPR.D131115 QUIT //* Forklaring: - -e sikrer, at FTP steppet fejler med en condition code, hvis noget går galt. - 321 er portnummeret til FTPS (eksplicit) indgangen i CPR s FTP server. - -a tls får FTP klienten til at etablere en TLS sikret forbindelse med FTP serveren. Dette er krævet af FTP serveren. - ASCII sørger for, at alle tegn konverteres mellem EBCDIC og ASCII. - LOCSITE FWFRIENDLY får FTP klienten til at finde en i firewall tilladt port for dataforbindelsen. - LOCSITE RECFM, LRECL og BLKSIZE er nødvendige ved download for, at det dannede datasæt får de DCB oplysninger, som kundens programmer forventer. Nedenstående er den dannede liste fra job et: 4
EZA1736I FTP -e ftp-demo.cpr.dk 321 -a tls EZY2640I Using 'SYS1.TCPPARMS(FTPDATA)' for local site configuration parameters. EZA1450I IBM FTP CS V1R12 EZA1772I FTP: EXIT has been set. EZA1554I Connecting to: ftp-demo.cpr.dk 147.29.101.26 port: 321. 220 xxxxxxxx (CPR FTP server) [147.29.101.26] EZA1701I >>> AUTH TLS 234 AUTH TLS successful EZA2895I Authentication negotiation succeeded EZA1701I >>> PBSZ 0 200 PBSZ 0 successful EZA1701I >>> PROT P 200 Protection set to Private EZA2906I Data connection protection is private EZA1459I NAME (ftp-demo.cpr.dk:iz1454): EZA1701I >>> USER MMFTPBJS 331 Password required for MMFTPBJS EZA1701I >>> PASS 230 User MMFTPBJS logged in EZA1736I ASCII EZA1701I >>> TYPE A 200 Type set to A EZA1736I LOCSITE FWFRIENDLY EZA1736I LOCSITE RECFM=VB EZA1736I LOCSITE LRECL=2100 EZA1736I LOCSITE BLKSIZE=27300 EZA1736I CD ud EZA1701I >>> CWD ud 250 CWD command successful EZA1736I GET d131115.l999902 DEMOCPR.D131115 EZA1701I >>> PASV 227 Entering Passive Mode (147,29,101,26,196,37). 5
EZA1701I >>> RETR d131115.l999902 150 Opening ASCII mode data connection for d131115.l999902 (3501 bytes) 226 Transfer complete EZA1617I 3518 bytes transferred in 0.005 seconds. Transfer rate 703.60 Kbytes/s EZA1736I QUIT EZA1701I >>> QUIT 221 Goodbye. 5. Windows 5.1 Instruks I Linux anvendes kun carriage return x 0a som separator mellem en fils poster. I Windows er standarden for separatorer line feed x 0d, efterfulgt af carriage return x 0a. FTP kan ændre disse separatorer mellem Linux-format og Windows-format under overførslen. For at sikre denne konvertering, er det vigtigt at angive, at FTP overførslen sker som type ASCII og ikke BINARY. CPR s kunder behøver ikke, at konvertere de filer, der skal afleveres til CPR mht. at ændre filen fra at indeholde Windows separatorer til, at indeholde Linux separatorer. 6. UNIX eller Linux 6.1 Instruks Der er ingen kendte udfordringer for CPR kunder, der anvender tegntabellen ISO-8859-1, For CPR kunder, der anvender UTF-8 som tegnsæt, kan der opstå problemer med at få FTP/SFTP til at konvertere ISO-8859-1 tegnene til UTF-8 tegn, selvom FTP kommandoen TYPE A angives. Alternativt kan kommandoen iconv eller recode angives som for/efterbrænder for overførslen. For eksempel: iconv -f ISO-8859-1 -t UTF-8 d131115.l999902 - konverterer den fra CPR modtagne fil til en UTF-8 fil. Hvis kommandoen iconv ikke er tilgængelig på den respektive UNIX platform, kan kommandoen recode anvendes. Kunder skal sikre, at de filer der afleverers til CPR anvender ISO-8859-1 tegnsættet. Det er normalt tilstrækkeligt at angive FTP kommandoen ASCII eller TYPE A for at opnå denne konvertering. 7. Andre operativsystemer CPR s FTP server er testet fra disse platforme: z/os med TSO FTP (FTPS eksplicit) Windows 7 med FileZilla og WinScp (FTPS og SFTP) Ubuntu med lftp (ISO-8859-1) (FTPS) Ubuntu med lftp (UTF-8) (FTPS) Ubuntu med FileZilla (SFTP) 6