| HOME / 정보공유 / AIX 명령어 모음

ftpd
ftpd ftpd 디먼 목적 인터넷 FTP 프로토콜의 서버 기능을 제공합니다. 구문
주: ftpd 디먼은 일반적으로 inetd 디먼에 의해 시작됩니다. 이 디먼은 SRC(시스템 자원 제어기) 명령을 사용하여 명령행에서 제어될 수 있습니다.
/usr/sbin/ftpd [ -d ] [ -f ] [ -ff ] [ -k ] [ -l ] [ -t TimeOut ] [ -T MaxTimeOut ] [ -s ] [ -u OctalVal ]
설명
/usr/sbin/ftpd 디먼은 DARPA 인터넷 파일 전송 규약(FTP) 서버 프로세스입니다. ftpd 디먼은 전송 제어 프로토콜(TCP)을 사용하여 /etc/services 파일의 ftp 명령 서비스 스펙에 지정된 포트에서 청취할 수 있습니다.
ftpd 디먼에 대한 변경은 SMIT(시스템 관리 인터페이스 도구) 또는 SRC를 사용하거나 /etc/inetd.conf 또는 etc/services 파일을 편집하여 수행될 수 있습니다. 명령행에 ftp를 입력하는 것은 좋지 않습니다. ftpd 디먼은 디폴트로 /etc/inetd.conf 파일에서 언급되지 않을 때 시작됩니다.
inetd 디먼은 이 정보를 /etc/inetd.conf 파일과 /etc/services 파일에서 얻게 됩니다.
/etc/inetd.conf 또는 /etc/services 파일을 변경하면, refresh -s inetd 또는 kill -1 InetdPID 명령을 수행하여 inetd 디먼에게 구성설정 파일에 대한 변경사항을 통지합니다.
ftpd 디먼은 파일 이름을 csh 명령의 규칙에 따라 확장합니다. 이 명령으로 *, ?, [ ], { } 및 ~와 같은 메타 문자를 사용할 수 있습니다.
현재 인증 방법이 표준 운영 시스템 인증 방법일 경우:
클라이언트 프로세스에 대해 ftpd 디먼이 파일을 전송하기 전에 클라이언트 프로세스를 확인해야 합니다. ftpd 디먼은 다음 규칙에 따라 클라이언트 프로세스를 확인합니다.
사용자는 암호 데이터베이스인 /etc/security/passwd에 암호가 있어야 합니다(사용자의 암호가 널(null)이 아니면, 클라이언트 프로세스는 이 암호를 제공해야 합니다).
사용자 이름은 /etc/ftpusers 파일에 없어야 합니다.
사용자의 로그인 쉘은 /etc/security/login.cfg 파일에 쉘 속성으로 표시되어야 합니다.
사용자 이름이 익명이거나 ftp이면, 익명 FTP 계정을 암호 파일에 정의해야 합니다. 이런 경우, 어떠한 암호를 사용해도 클라이언트 프로세스를 로그인할 수 있습니다. 규칙에 따라, 암호는 클라이언트 호스트 이름입니다. ftpd 디먼은 특수 측정을 수행해서 익명 계정의 클라이언트 프로세스에 대한 액세스를 제한합니다.
Kerberos 5가 현재 확인 방법인 경우:
ftpd 디먼을 사용하면 다음 조건이 모두 만족될 경우에만 액세스가 가능합니다.
ftp 클라이언트의 국지 사용자가 현재 DCE 신임을 가집니다.
국지 및 원격 시스템 모두 AUTH 명령을 지원합니다.
원격 시스템이 DCE 신임을 원격 계정에 액세스하기에 충분한 것으로 승인합니다. 자세한 정보는 kvalid_user 기능을 참조하십시오.
파일 전송 프로토콜 서브트리 지침
익명의 FTP 사용자를 처리할 때, 서버는 FTP 사용자 계정의 홈 디렉토리에서 chroot 명령을 처리합니다. 보안성을 높이려면, FTP 서브트리를 구성할 때 다음 규칙을 구현하십시오.
~ftp 루트 및 모드 r-xr-xr-x(555)가 소유하는 홈 디렉토리를 만드십시오.
~ftp/bin 이 디렉토리를 루트 사용자가 소유하도록 하고 아무도 쓸 수 없도록 하십시오. ls 프로그램은 list 명령을 지원하기 위해서는 이 디렉토리에 있어야 합니다. 이 프로그램의 모드는 111이어야 합니다.
~ftp/etc 이 디렉토리를 루트 사용자가 소유하도록 하고 아무도 쓸 수 없도록 하십시오.
~ftp/pub 모드 777과 FTP가 소유하는 이 디렉토리를 만드십시오. 그런 다음, 이 디렉토리에 익명 계정을 통해서 액세스할 파일을 놓아야 합니다.
주: 쉘 스크립트 /usr/samples/tcpip/anon.ftp는 위의 규칙을 사용하여 사용자의 익명 FTP를 설정할 수 있습니다.
서버는 루트 사용자로 수행하여 특권 포트 번호로 된 소켓을 작성해야 합니다. 서버는 로그인 사용자의 유효 사용자 ID를 유지하여 주소를 소켓에 바인드할 때만 루트 사용자에 리턴합니다.
지원되는 파일 전송 프로토콜 요청
현재 ftpd 디먼은 다음과 같은 FTP 요청을 지원합니다.
ABOR 이전의 명령을 종료합니다.
ACCT 계정을 지정합니다(무시함).
ADAT 인증/보안 데이터를 지정합니다.
ALLO 기억장치를 할당합니다(비어 있음).
APPE 파일을 추가합니다.
AUTH 인증/보안 메커니즘을 지정합니다.
CCC Clear 명령 채널을 지정합니다.
CDUP 현재 작업 디렉토리의 상위 디렉토리로 변경합니다.
CWD 작업 디렉토리를 변경합니다.
DELE 파일을 삭제합니다.
ENC 프라이버시 보호 명령을 지정합니다.
HELP 도움말 정보를 제공합니다.
LIST 디렉토리에 있는 리스트 파일을 제공합니다(이 FTP 요구는 ls -lA 명령과 같습니다).
MKD 디렉토리를 만듭니다.
MDTM 파일의 최종 수정 시간을 표시합니다.
MIC 무결성 보호 명령을 지정합니다.
MODE 데이터 전송 모드를 지정합니다.
NLST 디렉토리에 있는 파일 이름 리스트를 제공합니다(이 FTP는 ls 명령과 같습니다).
NOOP 아무것도 수행하지 않습니다.
PASS 암호를 지정합니다.
PASV 서버 대 서버 전송을 준비합니다.
PBSZ 보호 버퍼 크기를 지정합니다.
PORT 데이터 연결 포트를 지정합니다.
PROT 데이터 채널 보호 레벨을 지정합니다.
PWD 현재 작업 디렉토리를 인쇄합니다.
QUIT 세션을 종료합니다.
RETR 파일을 검색합니다.
RMD 디렉토리를 제거합니다.
RNFR 이름을 바꾼 소스 파일 이름을 지정합니다.
RNTO 이름을 바꾼 대상 파일 이름을 지정합니다.
SITE 다음 비표준 또는 UNIX 고유 명령은 SITE 요구에 의해 지정됩니다.
UMASK
파일 모드 작성 마스크를 변경합니다(SITE UMASK 002).
IDLE
유휴 시간을 설정합니다(SITE IDLE 60).
CHMOD
파일의 모드를 변경합니다(SITE CHMOD 755 FileName).
HELP
도움말 정보를 제공합니다(SITE HELP).
SIZE 현재 파일의 크기를 리턴합니다.
STAT 서버 상태를 리턴합니다.
STOR 파일을 보관합니다.
STOU 고유한 파일 이름을 사용하여 파일을 보관합니다.
STRU 데이터 전송의 구조를 파일 구조로 지정합니다.
SYST 서버 시스템의 운영 시스템을 표시합니다.
TYPE 데이터 전송 유형을 Type 매개변수로 지정합니다.
USER 사용자 이름을 지정합니다.
XCUP 현재 작업 디렉토리의 상위 디렉토리를 변경합니다(보통 사용하지 않음).
XCWD 현재 디렉토리를 변경합니다(보통 사용하지 않음).
XMKD 디렉토리를 작성합니다(보통 사용하지 않음).
XPWD 현재 작업 디렉토리를 인쇄합니다(보통 사용하지 않음).
XRMD 디렉토리를 제거합니다(보통 사용하지 않음).
인터넷 RFC 959에 정의한 나머지 FTP를 인식하지만, 수행하지는 않습니다. MDTM과 SIZE 요구는 RCC 959로 지정되지 않지만, 다음에 갱신하는 FTP RFC에 나타나도록 계획되어 있습니다.
STAT 요구가 파일 전송중에 수신되고 Telnet IP 신호와 SYNCH 신호로 선행되면, 전송 상태를 리턴합니다.
ftpd 디먼은 SMIT(시스템 관리 인터페이스 도구)을 사용하거나 /etc/inetd.conf 파일을 변경하여 제어해야 합니다. 명령행에 ftpd를 입력하는 것은 바람직하지 않습니다.
시스템 자원 제어기로 ftpd 디먼 조작
ftpd 디먼은 시스템 자원 제어기(SRC)의 서브시스템인 inetd 디먼의 서브서버입니다. ftpd 디먼은 tcpip SRC 서브시스템 그룹의 멤버입니다. 이 디먼은 디폴트로 /etc/inetd.conf 파일에서 사용 가능하며, 다음의 SRC 명령으로 조작할 수 있습니다.
startsrc 서브시스템, 서브시스템 그룹 또는 서브서버를 시작합니다.
stopsrc 서브시스템, 서브시스템 그룹 또는 서브서버를 정지합니다.
lssrc 서브시스템, 서브시스템 그룹 또는 서브서버의 상태를 확보합니다.
플래그
-d ftpd 디먼 조작에 대한 디버깅 정보를 syslogd 디먼으로 전송합니다. -d 플래그를 지정하면, /etc/syslog.conf 파일을 편집하고 다음 항목을 추가해야 합니다.
daemon.debug FileName
주: The syslogd 디먼의 debug 레벨에는 info 레벨 메세지가 포함됩니다.
/etc/syslog.conf 파일을 편집하지 않으면, 메세지가 작성되지 않습니다. /etc/syslog.conf 파일을 변경한 후, refresh -s syslogd 명령 또는 kill -1SyslogdPID 명령을 수행하여 syslogd 디먼에게 구성설정 파일이 변경되었음을 알리십시오. 디버그 레벨에 대한 자세한 정보는 /etc/syslog.conf 파일을 참조하십시오.
-f 서버를 특정 포트로 다시 연결하도록 클라이언트가 요청할 때, 특권 포트의 검사를 사용할 수 없게 합니다. 디폴트로, ftpd는 보안 예방 조치로 특권 포트에 대한 연결을 클라이언트가 요청할 수 없게 합니다.
-ff 서버를 특정 클라이언트 포트로 다시 연결하도록 클라이언트가 요청할 때, 특권 포트 및 제어 연결에 사용되는 주소와 일치하는 IP 주소에 대한 검사를 사용할 수 없게 합니다. 이 플래그를 사용하면, 클라이언트는 서버가 대체 호스트 또는 인터페이스로 데이터를 전송하도록 요청할 수 있습니다. 디폴트로, ftpd는 보안 예방 조치로 이 조치를 허용하지 않습니다.
-k 데이터 전송 소켓에 있는 sys/socket.h 파일에 정의되어 있는 SO_KEEPALIVE 옵션을 설정하여 이벤트 TCP/IP hangs에 있는 시간종료로 데이터를 전송하십시오. 유휴 간격 시간은 no 명령의 tcp_keepidle 및 tcp_keepintvl 옵션으로 지정한 전체 시스템 값을 기반으로 둡니다. 플래그를 지정하지 않으면, ftpd 데이터 전송은 시간종료되지 않습니다.
-l ftpd 디먼 조작에 대한 로그 정보를 syslogd 디먼으로 전송합니다. -l 플래그를 지정하면, /etc/syslog.conf 파일을 편집하고 다음 항목을 추가해야 합니다.
daemon.info FileName
/etc/syslog.conf 파일을 편집하지 않으면, 메세지가 작성되지 않습니다. /etc/syslog.conf 파일을 변경한 후, refresh -s syslogd 명령 또는 kill -1SyslogdPID 명령을 수행하여 syslogd 디먼에게 구성설정 파일이 변경되었음을 알리십시오. 디버그 레벨에 대한 자세한 정보는 /etc/syslog.conf 파일을 참조하십시오.
-t TimeOut TimeOut 변수로 지정된 초 수가 지난 다음, 비활동 상태의 세션을 로그아웃합니다. 디폴트 한계는 15분(900초)입니다.
-T MaxTimeOut MaxTimeOut 변수로 지정된 최대 초 수가 지난 다음, 비활동 상태의 클라이언트 세션을 로그아웃합니다. 디폴트 한계는 2시간(7200초)입니다.
-s 소켓 레벨 디버깅을 켭니다.
-uOctalVal ftpd 디먼의 파일 모드 작성 마스크를 설정합니다. OctalVal 변수는 파일 모드 작성 마스크를 정의하는 8진수로 지정되어야 합니다. 디폴트 파일 모드 작성 마스크는 8진수 027이고, 이로 인해 rw-r----- 사용권한이 생깁니다.
예제
주: SMIT를 사용하거나 /etc/inetd.conf 파일을 편집하여 ftpd 디먼의 인수를 지정할 수 있습니다.
ftpd 디먼을 시작하려면, 다음과 같이 입력하십시오.
startsrc -t ftp
-t 플래그를 사용한 startsrc 명령은 ftpd 서브서버를 시작합니다. 서브서버를 지정하려면 -t 플래그를 사용해야 합니다. 그렇지 않으면, 명령이 제대로 실행되지 않습니다.
ftpd 디먼을 정상으로 정지하려면, 다음과 같이 입력하십시오.
stopsrc -t ftp
-t 플래그를 사용한 stopsrc 명령은 ftpd 서브서버를 정지시킵니다. stopsrc 명령은 지연 중인 모든 연결을 시작하고 기존의 연결을 완료하도록 할 수는 있지만, 새로운 연결은 시작하지 못하도록 합니다. 서브서버를 지정하려면 -t 플래그를 사용해야 합니다. 그렇지 않으면, 명령이 제대로 실행되지 않습니다.
ftpd 디먼과 모든 ftpd 연결을 정지하려면, 다음과 같이 입력하십시오.
stopsrc -t -f ftp
-t 및 -f 플래그를 사용한 stopsrc 명령은 ftpd 서브서버를 정지시킵니다. 이 명령은 모든 보류 중인 연결과 기존의 연결을 즉시 종료합니다.
ftpd 디먼에 대한 축약 상태 정보를 표시하려면, 다음과 같이 입력하십시오.
lssrc -t ftp
-t 플래그의 Issrc 명령은 디먼의 이름, 프로세스 ID 및 상태(활동 중 또는 비활동)를 리턴합니다. 서브서버를 지정하려면 -t 플래그를 사용해야 합니다. 그렇지 않으면, 명령이 제대로 실행되지 않습니다.
파일
/etc/locks/ftpd 내부 잠금과 프로세스 기억장치가 들어 있습니다.
/etc/group 그룹의 암호가 들어 있습니다.
/etc/passwd 사용자의 암호가 들어 있습니다.
/etc/security/login.cfg 로그인과 사용자 인증
/etc/security/passwd 암호화한 암호가 들어 있습니다.
/etc/syslog.conf syslogd 디먼에 대한 구성설정 정보를 포함합니다.
/usr/samples/tcpip/anon.ftp 익명 FTP 계정을 설정하는 쉘 스크립트 예제가 들어 있습니다. 이 파일에는 이것을 사용할 방향도 들어 있습니다.
관련 정보
ftp 명령, lssrc 명령, kill 명령, no 명령, rcp 명령, refresh 명령, rlogin 명령, rsh 명령, startsrc 명령, stopsrc 명령, telnet 명령.
inetd 디먼, syslogd 디먼.
kvalid_user 기능.
/etc/ftpusers 파일 형식, /etc/inetd.conf 파일 형식, /etc/services, $HOME/.k5login 파일 형식.