Troubleshooting
Problem
This technical document discusses the most common problems, configuration issues, and recommended maintenance for the FTP application on the z/OS operating system. Additionally, it discusses the methods by which diagnostic information can be obtained to troubleshoot and resolve FTP problems. This document replaces informational APARs II12079, II12925, and II13516.
Resolving The Problem
| Table of Contents |
- 530 PASS command failures, EDC5157I errors, or ICH420I errors
- GDG transfers fail
- 530 PASS command failed - getpwnam() error : USERNAME
- FTP listens on multiple stacks when single stack affinity is desire.
- ICH408I error received
- Receiving EZA2562W with reason code 536 when attempting to transfer/allocate a file to a tape dataset.
- Top Secret or ACF2 users experience problems after applying PQ63326.
- FTPD fails on startup with EZYFT12E/EDC5111I or EZYFT13E/EDC5111I
- FTPD Server hangs
- FTP Fails when BPX.POE class is active
- FTP Client fails with message EZA2897I Authentication negotiation failed
- General guidelines for collecting output
- Documentation for FTP Server problems
- Documentation for FTP Client problems
- Documentation for TLS problems
| General Information |
Implicit TLS connections over port 990
EXTENSIONS AUTH_TLS SECURE_FTP REQUIRED SECURE_CTRLCONN PRIVATE SECURE_DATACONN PRIVATE authClient: init failed with rc = 410 (GSK_ERR_BAD_MESSAGE) EZYFT96I TLS handshake failed authClient: init failed with rc = 406 (GSK_ERR_IO) EZYFT96I TLS handshake failed authServer: secure_socket_init failed with rc = 410 (GSK_ERR_BAD_MESSAGE) EZA2897I Authentication negotiation failed authServer: secure_socket_init failed with rc = 406 (GSK_ERR_IO) EZA2897I Authentication negotiation failed |
TLS Connections through Firewalls
|
| Recommendations |
| Naming the FTP Server It is recommended the FTP server started procedure be named 'FTPD' or something similar with LESS THAN EIGHT CHARACTER NAME. When the server is started, it will spawn a listening daemon with the proc name and a '1' appended to the end (that is, FTPD1) ** |
| Using SYSLOGD SYSLOGD should be running and properly configured to capture FTP server trace records. See our SYSLOGD MustGather. NOTE: If syslogd is not running, all FTPD trace output will typically go to the MVS console. This is NOT recommended because the console will get flooded. |
| Using the Resolver FTP is a UNIX application, so the resolver follows the UNIX search order. See the z/OS Resolver Read First if FTP is failing to resolve hostnames. |
| Applying Maintenance When applying maintenance to the FTP client or server, both the load modules and the aliases need to be copied over. For the client, FTP and EZAFTPLC need to be copied over. For the FTP server, FTPDNS and EZAFTPLS must be copied over. And for the daemon, FTPD and EZAFTPLD. If not performed properly, unpredictable results might occur, including abends. |
Userids and Passwords
530 PASS command failed - __passwd() error USER userid password USER userid password |
| Common Problems and Questions |
Symptoms:
Resolution: Any of the following might be causes of the above problems:
The output will look similar to: The "t" in the permission bits indicates that the sticky bit is set. Use the follow command to set the sticky bit if the "t" is not present:
|
| Symptom: GDG transfers fail Resolution: A model DCBDSN must exist in the FTP.DATA file as DCBDSN=model. To use a DCBDSN model to create a data set, do the following:
|
| Symptom: 530 PASS command failed - getpwnam() error : USERNAME Resolution: Set up a superuser FTPD userid. Ensure you have defined a HOME directory ( / ) and then add the userid to RACF using the command:
Permit it to BPX.DAEMON facility if necessary:
|
| Symptom: FTP listens on multiple stacks when single stack affinity is desired. Resolution: Use ENVAR to ensure the server binds to the correct stack. For example:
|
Symptom: The following error is generated: ICH408I USER(aaaaaa) GROUP(bbb) NAME(ccccc) /usr/sbin/ftpdns CL(DIRSRCH) FID(dddddddddd) INSUFFICIENT AUTHORITY TO LOOKUP ACCESS INTENT(---X) ACCESS ALLOWED(GROUP ---) Resolution: The key being CL(DIRSRCH) - meaning that RACF was trying to do a directory search and the user was not allowed. Either root ( / ) or one of the subdirectories does not have its permission bits 755. Verify with the command (for root). The output should look like: This should be the setting for each subdirectory as well as root. Issue the command (for root) to add the correct permission bits. |
| Symptom: Receiving EZA2562W with reason code 536 when attempting to transfer/allocate a file to a tape data set. Resolution: Make sure AUTOTAPEMOUNT=TRUE is specified in the CLIENT FTP.DATA file. |
| Symptom: Top Secret or ACF2 users applying PQ63326. Resolution: A new resource profile must be defined to the SERVAUTH facility class to allow users to access the HFS (EZB.FTP.sysname.ftpdaemonname.ACCESS.HFS) |
Symptom: FTPD fails on startup with EZYFT12E socket error : EDC5111I Permission denied.or EZYFT13E bind error : EDC5111I Permission denied. Resolution: This is caused by having SERVAUTH active and ACF/2 not having EZB.STACKACCESS.sysname.tcpname defined. The ACF2 R10 compatibility fixes add the SERVAUTH Class to the Class Profiles that respond to SAF Calls as being active. So once the R10 compatibility service is installed on ACF2 6.3 (the only release supported on R10), the SERVAUTH Class is active (as far as TCP/IP is concerned) and the Installation MUST create the various EZB.xxxxx Profiles in the SER Resource Type (which ACF2 maps SERVAUTH to). The existence of the SERVAUTH Class mapping would have no impact on previous releases, as no one was using them. |
| Symptom: FTP Server Hangs Resolution: This problem is non-recoverable. It is suggested that you perform the normal termination procedures as per your operating environment (that is, purge,cancel,force). The documentation needed to identify the problem is a dump of the ftpd server, tcpip, and omvs address space along with the dataspace for omvs. The syntax for the dump command is: Here is an example for the Reply XX (above assuming the tcprocname is TCPIP and the ftpprocname is FTPD):
|
| Symptom: FTP Fails when BPX.POE class is active Resolution: This is caused by not having the proper FTP definitions when the SERVAUTH CLASS is activated. When activated:
|
| Symptom: FTP Client fails with message EZA2897I Authentication negotiation failed. Resolution: Obtain a FTP client trace with the SEC CMD SOC(3) and FLO options. If trace shows:
|
| Gathering Diagnostic Output |
General Guidelines for Collecting Output
Common DEBUG options
Common DUMP options
|
| Documentation needed for FTP Server problems USER abends (ie, U40xx) For user abends, check for an existing CEEDUMP on your system. Information on CEEDUMPs can be found in the Language Environment Programming Reference. If the Level 2 support team decides the CEEDUMP is insufficient, an SVC dump trapping the original abend might be required. In this case, the following actions should be taken:
Gathering FTP server traces Tace output will go to a file in the HFS as defined by the syslogd configuration file (/etc/syslog.conf). For additional information regarding syslogd, see the Syslogd MustGather / Read First. NOTE: If syslogd is not configured for FTP on your system, the trace output will be written to the console. This is *NOT* recommended and can result in the console being flooded. Output that is sent to the console is also difficult to read and might delay problem diagnosis. Code the following statement in the Server's FTP.DATA file to allow FTP clients to selectively activate traces. Recycle the server to activate this support.
Different methods of activating server traces Using Modify commands to set DUMP or DEBUG options The following modify command can be used to activate FTP server traces MODIFY ftp_server_jobname,DEBUG=(xxx) where xxx can be multiple server trace options as shown above. To disable the tracing the command can be issued as follows: MODIFY ftp_server_jobname,DEBUG=(NONE) To display the current settings, issue MODIFY ftp_server_jobname,DEBUG=(?) Setting trace/debug options in the FTP.DATA configuration file Debugging can also be activated by adding configuration statements to the FTP.DATA configuration file. The DEBUG statement can be coded for each option desired. For example, to turn on BAS, FLO, and ACC, code DEBUG BAS DEBUG FLO DEBUG ACC The TRACE statement can also be coded: TRACE This is the equivalent of coding DEBUG BAS Using the FTP client SITE command to activate DUMP and DEBUG options on the FTP server If DEBUGONSITE TRUE has been configured for an FTP server, the FTP client can be used to activate tracing on that server. The subcommands for turning on a specific DUMP or DEBUG option are: SITE DEBUG=(option1,option2,...) SITE DUMP=(option1,option2,...) To display a lis of options, SITE DEBUG=? SITE DUMP=? To deactivate DUMP or DEBUG tracing on the server, SITE DEBUG=NONE SITE DUMP=NONE Note that if a client other than the MVS FTP client is used, these commands must be preceded with the QUOTE keyword: QUOTE SITE DEBUG=(option1,option2,...) QUOTE SITE DUMP=(option1,option2,...) |
Documentation needed for FTP TLS problems
After obtaining the trace, format the trace file with the following OMVS command:
Review the System SSL Programming manual for more information. Note: After collecting the System SSL trace and formatting it in the /tmp directory. It is recommended that this file be ftp'd to another system or moved to an MVS data set. The reason is that the /tmp data set is typically not a large data set, and if it becomes full it can cause applications that use the /tmp for their STDOUT to fail during initialization.
will list certificate information. Similarly,
will list ring info. NOTE: 'ringname' is the name associated with the KEYRING keyword in the FTP.DATA file. 'user' is name of the certificate being used. For the default certificate for the FTP Server, the status must be set to TRUST. |
| Glossary of Acronyms |
| APAR | Authorized Program Analysis Report |
| API | Application Programming Interface |
| FTP | File Transfer Protocol |
| GDG | Generation Data Group |
| HFS | Hierarchical File System |
| IETF | Internet Engineering Task Force |
| JCL | Job Control Language |
| JES | Job Entry Subsystem |
| LE | Language Environment |
| NAT | Network Address Translation |
| PMR | Problem Management Record |
| PTF | Program Temporary Fix |
| RACF | Resource Access Control Facility |
| SQL | Structured Query Language |
| SSL | Secure Socket Layer |
| TLS | Transport Layer Security |
[{"Product":{"code":"SSSN3L","label":"z\/OS Communications Server"},"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Component":"All","Platform":[{"code":"PF035","label":"z\/OS"}],"Version":"1.6;1.7;1.8;1.9;1.10;1.11;1.12;1.13;2.1;2.2","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Was this topic helpful?
Document Information
Modified date:
15 June 2018
UID
swg21318198