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

tftp
tftp tftp 또는 utftp 명령 목적 기본 파일 전송 규약(TFTP)을 사용하는 호스트 사이에서 파일을 전송합니다. 구문
{tftp | utftp} { -g | -o | -p | -r | -w } LocalName HostPort RemoteName [ netascii | image]
대화식 양식 구문
명령행 양식 구문
설명
/usr/bin/tftp 및 utftp 명령은 TFTP(기본 파일 전송 규약)를 사용하여 호스트 사이에서 파일을 전송합니다. TFTP가 최소 파일 전송 프로토콜이므로, tftp 및 utftp 명령은 ftp 명령의 모든 특징을 제공하지 않습니다. 예를 들면, tftp 및 utftp 명령은 원격 파일을 나열하는 기능 또는 원격 호스트에서 디렉토리를 변경하는 기능을 제공하지 않습니다. 단지 한계 파일 액세스 특권만이 원격 TFTP 서버에 제공됩니다. utftp 명령은 파이프에서 사용하기 위한 tftp 명령 양식입니다.
원격 호스트에는 해당 inetd디먼이 시작하는 tftpd 디먼이 있어야 하고, tftpd 디먼의 액세스를 제한하도록 정의된 계정도 있어야 합니다. tftpd 명령이 정의한 프로시저를 사용하여 TFTP 환경과 nobody 계정을 설정하십시오.
주: 호스트가 안전 모드에서 조작중일 때 tftp 및 utftp 명령은 사용할 수 없습니다.
tftp 명령은 전송된 블록에 대해 중복된 응답은 무시하고 오류 패킷을 전송하며, 부적절한(미래의) 블록 번호가 있는 블록이 수신되면 종료합니다. 또한 이 명령은 이미 수신한 데이터 블록을 수신한 경우에는 이를 무시하고, 오류 패킷을 전송하고 종료합니다.
최대 시간종료 값
사용자는 최대 시간종료 값을 선택할 수 있지만, 최초 블록의 초기 시간종료 값은 하드코드됩니다. 사용자는 서버의 최대 시간종료 값을 선택할 수 없으며, 서버는 64 초의 최대 시간종료 값으로 6 번 재시도한 후 시간종료합니다.
액세스 제어
/etc/tftpaccess.ctl 파일에서 allow: 또는 deny:로 시작되는 행을 탐색합니다. 다른 행은 무시됩니다. 파일이 없는 경우 액세스가 허용됩니다. 허용된 디렉토리와 파일에는 액세스할 수 있고 거부된 디렉토리 및 파일에는 액세스할 수 없습니다. 예를 들어, /usr 디렉토리는 허용되고 /usr/ucb 디렉토리는 거부될 수 있습니다. 이는 /usr 디렉토리의 모든 디렉토리 또는 파일(/usr/ucb 디렉토리 제외)을 액세스할 수 있음을 의미합니다. /etc/tftpaccess.ctl 파일의 항목은 절대 경로 이름이어야 합니다.
/etc/tftpaccess.ctl 파일은 root 사용자만 쓸 수 있어야 하고 groups와 others의 멤버는 읽을 수만 있어야 합니다. 즉, 사용권한은 644이고 소유자는 root이어야 합니다. 사용자 nobody는 /etc/tftpaccess.ctl 파일을 읽을 수 있어야 합니다. 그렇지 않으면 tftpd 디먼이 파일의 존재를 인식할 수 없으며 시스템 전체에 대한 액세스를 허용합니다. 자세한 내용은 /usr/samples/tcpip 디렉토리에 있는 tftpaccess.ctl 파일을 참조하십시오.
탐색 알고리즘은 tftp 명령에 사용되는 국지 경로 이름이 절대 경로 이름이라고 가정합니다. 이 알고리즘은 /etc/tftpaccess.ctl 파일에서 allow:/를 탐색합니다. 반복해서 파일 경로 이름에서 다음 구성요소를 추가함으로써 구성된 각각의 부분적인 경로 이름을 탐색합니다. 일치하는 가장 긴 경로 이름이 허용됩니다. 그런 다음 일치하는 가장 긴 허용되는 경로 이름으로 시작하여 거부된 이름에서도 동일하게 수행합니다.
예를 들어, 파일 경로 이름이 /a/b/c이고 /etc/tftpaccess.ctl 파일이 allow:/a/b 및 deny:/a을 포함하는 경우, 하나의 허용된 일치가 만들어지고(/a/b), /a/b로 시작되는 거부된 일치는 만들어지지 않으므로 액세스는 허용됩니다.
/etc/tftpaccess.ctl 파일에 allow:/a 및 deny:/a/b가 포함된 경우, 허용되는 일치사항이 작성되고(/a) /a(/a/b)로 시작하는 거부된 일치사항이 작성되며 액세스는 거부됩니다. /etc/tftpaccess.ctl 파일에 allow:/a/b가 포함되고 deny:/a/b도 포함되는 경우, 허용되는 이름이 먼저 탐색되므로 액세스는 거부됩니다.
주: Xstation, 디스크가 없는 클라이언트 및 제한된 항목에 대한 예제 구성설정 및 자세한 정보는 /usr/samples/tcpip/tftpaccess.ctl 파일을 참조하십시오.
tftp 및 utftp 명령의 양식은 대화식 양식과 명령행 양식, 두 가지입니다.
대화식 양식
대화식 양식에서, tftp 및 utftp 명령은 단독으로 발행되거나, 이 세션 동안의 파일 전송에 사용할 디폴트 호스트를 지정하는 Host 매개변수와 함께 발행됩니다. 원하면, Port 매개변수를 사용하여 /etc/services 파일의 mail에 대해 지정한 것과 같이 tftp 또는 utftp 연결이 사용해야 하는 포트를 지정할 수 있습니다. 명령의 대화식 양식을 입력하면, tftp> 프롬프트가 표시됩니다.
원격 호스트에 데이터를 전송할 때, 전송된 데이터는 RemoteName 매개변수가 지정한 디렉토리에 놓여집니다. 원격 이름은 완전하게 지정된 파일 이름이어야 하며, 원격 파일이 있어야 하고 또한 그 원격 파일은 다른 사용자에 대해 쓰기 권한을 허용해야 합니다. tftp 명령은 지정된 파일에 데이터를 기록하려고 시도합니다. tftp 명령은 데이터를 지정된 파일에 기록하지만 원격 TFTP 서버가 원격 파일에 기록할 적절한 특권을 가지지 않은 경우 또는 파일이 존재하지 않는 경우, 전송은 실패합니다. tftpd 디먼을 사용하여 이를 겹쳐쓸 수 있습니다.
명령행 양식
utftp 명령이 국지 파일을 겹쳐쓰지 않을 경우를 제외하고 tftp 및 utftp 명령은 동등합니다. tftp 명령은 파일에 겹쳐쓸 수 있으나 그 전에 사용자에게 물어봅니다. 대화식이 아니므로, utftp 명령의 명령행 양식은 파이프에서의 tftp 명령보다 유용할 수 있습니다. 명령행 양식에서 각 명령의 모든 인수가 명령행에 지정되고 프롬프트는 나타나지 않습니다.
부속명령
tftp 및 utftp 부속명령은 대화식 양식 또는 명령행 양식으로 입력될 수 있습니다.
대화식 양식에 사용되는 부속명령
tftp> 프롬프트가 표시되고 나면 다음 부속명령을 사용할 수 있습니다.
? [Subcommand] 도움말 정보를 표시합니다. Subcommand 매개변수가 지정된 경우, 부속명령에 대한 정보만이 표시됩니다.
ascii mode ascii 부속명령의 동의어.
binary mode binary 부속명령의 동의어. 이 부속명령은 대화식 모드에서 사용됩니다. image 부속명령은 mode binary 부속명령과 동일한 일을 수행하지만, 명령행에서 사용됩니다.
connect Host [Port] 원격 호스트를 설정하며, 파일 전송을 위한 포트를 설정할 수도 있습니다. TFTP 프로토콜이 전송 사이의 연결을 유지하지 않기 때문에, connect 부속명령은 지정된 호스트로의 연결을 만들지 않지만 전송 조작을 위해 연결을 저장합니다. 이전에 지정된 모든 호스트를 겹쳐쓰는 put 또는 get 부속명령의 일부로서 원격 호스트를 지정할 수 있으므로, connect 부속명령은 필수적이지 않습니다.
get RemoteFile [LocalFile]
get RemoteFile RemoteFile RemoteFile [RemoteFile . . . ]
파일 또는 원격 호스트에서 국지 호스트로 파일을 가져옵니다. 각각의 RemoteFile 매개변수는 다음 두 가지 방식중 하나로 지정될 수 있습니다.
디폴트 호스트가 이미 지정된 경우 원격 호스트에 있는 파일 이름만 지정합니다.
호스트 파일로 사용됩니다(Host:File). 여기서 Host는 원격 호스트이고 File은 국지 시스템에 복사할 파일의 이름입니다. 이러한 매개변수 양식이 사용되는 경우, 지정된 마지막 호스트는 이 tftp 세션에서 다음 전송을 위한 디폴트 호스트가 됩니다.
mode Type 전송 모드의 유형(Type)을 ascii 또는 binary로 설정합니다. 디폴트 값은 ascii 전송 모드입니다.
put LocalFile [RemoteFile]
put LocalFile LocalFile LocalFile [LocalFile . . . ] RemoteDirectory
파일 또는 국지 호스트에서 원격 호스트로 파일을 가져갑니다. 다음의 두 가지 방식 중 하나로 RemoteDirectory 및 RemoteFile 매개변수가 지정될 수 있습니다.
디폴트 호스트가 이미 지정된 경우, 원격 호스트에 있는 파일 또는 디렉토리를 지정합니다.
Host:RemoteFile 매개변수로. 여기서 Host는 원격 시스템이고 RemoteFile은 원격 시스템에 있는 파일이나 디렉토리의 이름입니다. 이러한 매개변수 양식이 사용되는 경우, 지정된 마지막 호스트는 이 tftp 세션에서 다음 전송을 위한 디폴트 호스트가 됩니다.
두 경우 모두, 원격 파일 이름이나 디렉토리 이름은 국지 및 원격 디렉토리의 이름이 같은 경우에도 완전히 지정된 경로 이름이어야 합니다. 원격 디렉토리가 지정될 경우, 원격 호스트는 UNIX 시스템으로 간주됩니다. put 부속명령의 디폴트 값은 쓰기-대체입니다만, tftpd 디먼에서 옵션을 추가하여 쓰기-작성을 허용할 수 있습니다.
quit tftp 세션을 종료합니다. EOF 키 문자열도 프로그램을 종료시킵니다.
status 예를 들어, 현재 전송 모드(ascii 또는 binary), 연결 상태 및 시간종료 값을 포함하는 tftp 프로그램의 현재 상태를 표시합니다.
timeout Value 전체 전송 시간종료를 Value 매개변수가 지정한 초수로 설정하십시오.
trace 패킷 추적을 켜거나 끕니다.
verbose 파일 전송중 추가 정보를 표시하는 상세 모드를 켜거나 끕니다.
명령행 양식에 사용되는 부속명령
이 양식에서 Action 플래그의 기능은 다음과 같습니다.
-w or -p LocalName 매개변수가 지정한 국지 데이터를 Host 매개변수가 지정하는 원격 호스트의 RemoteName 매개변수가 지정하는 파일에 기록합니다. LocalName 매개변수가 파일 이름인 경우, tftp 명령은 지정된 국지 파일을 전송합니다. LocalName 매개변수가 -(대쉬)로 지정되면, tftp 명령은 국지 표준 입력에서 원격 호스트로 데이터를 전송합니다. LocalName 매개변수가 표준 입력일 때, tftp 명령은 시간종료되기 전에 입력된 모든 입력에 대해 25초를 허용합니다.
-r, -g 또는 -o Host 매개변수가 지정한 원격 호스트에 있는 RemoteName 매개변수가 지정하는 파일에서 원격 데이터를 읽고(또는 가져오고) LocalName 매개변수가 지정하는 파일에 기록합니다. LocalName 매개변수가 파일 이름인 경우, tftp 명령은 데이터를 지정된 국지 파일에 기록합니다. -r 및 -g 조치의 경우, tftp 명령은 기존의 국지 파일을 겹쳐쓰기에 앞서 검증에 대한 프롬프트를 표시합니다. -o 플래그의 경우, tftp 명령은 확인하지 않고 기존의 국지 파일에 겹쳐씁니다. LocalName 매개변수가 -(대쉬)로 지정되는 경우, tftp 명령은 데이터를 국지 표준 입력에 기록합니다.
주: tftp -g 및 tftp -r 명령은 기존 국지 파일에 겹쳐쓰기 전에 사용자에게 묻기 때문에, 파이프에서 tftp 명령을 사용하는 것은 실용적이지 못합니다. utftp 명령은 tftp 명령과 동일한 -r 및 -g 조치를 수행하지만, 국지 파일을 겹쳐쓰기 전에 정지해 버립니다. 따라서 utftp 명령은 파이프에서 사용하기에 더 적절할 수 있습니다.
다음 두 가지 파일 전송 모드에서, RemoteName 매개변수는 다른 사용자에게 쓰기 권한을 허용하는 파일 이름입니다. RemoteName 매개변수는 쉘 특수 문자를 포함하는 경우 인용 부호(" ")로 묶어야 합니다.
전송 모드는 다음 중 하나입니다.
netascii 7 비트 ASCII 문자로서 8 비트 전송 바이트 단위로 데이터를 전송합니다. 이것이 디폴트입니다.
image 8 비트 2진 데이터 바이트로서 8 비트 전송 바이트 단위로 데이터를 변환하지 않고 전송합니다. 두 호스트 간에 전송할 때는 image 전송이 netascii 전송보다 더 효율적일 수 있습니다. 워크스테이션에서 다른 유형의 호스트로 ASCII 파일을 전송할 때는 netascii를 사용하도록 권장합니다.
예제
다음 예는 tftp 명령의 대화식 양식과 명령행 양식의 차이점을 나타냅니다.
tftp 명령의 대화식 양식 사용
tftp 명령을 입력하고, 현재 상태를 검사하고, 원격 호스트로 연결하고, 원격 호스트에서 사용자의 국지 호스트로 파일을 전송하려면, 다음과 같이 입력하십시오.
tftp
tftp> 프롬프트가 표시됩니다. 프롬프트에서 status 부속명령을 입력하십시오.
status
다음과 유사한 메세지가 화면에 표시됩니다.
Not connected.
Mode: netascii Verbose: off Tracing: off
Max-timeout: 25 seconds
tftp> _
tftp> 프롬프트에서 connect 부속명령과 연결하고자 하는 원격 시스템의 이름을 입력하십시오.
tftp> connect host1
tftp> 프롬프트는 사용자가 host1에 연결되었음을 나타냅니다. tftp> 프롬프트에 뒤따라 get 부속명령을 입력하여 원격 호스트에서 사용자의 국지 호스트로 update 파일을 전송하십시오.
get /home/alice/update update
원격 호스트 상의 /home/alice 디렉토리는 다른 디렉토리에 대한 사용권한 설정을 읽었습니다. host1로부터의 /home/alice/update 파일은 사용자의 국지 시스템 상의 update 파일로 전송됩니다. 이 예에서 사용자는 host1로 연결되고 update 파일은 host1에서 국지 호스트로 전송됩니다.
tftp 명령의 명령행 양식 사용
원격 호스트에서 텍스트 파일을 복사하여 국지 파일로 기록하려면, 다음과 같이 입력하십시오.
tftp -g newsched host1 /home/john/schedule
$ _
이 예에서 /home/john/schedule 파일은 host1이라는 원격 호스트로부터 복사되었고 newsched라는 국지 파일에 기록되었습니다.
원격 호스트에서 텍스트 파일을 복사하여 국지 호스트의 표준 출력으로 출력을 재지정하려면, 다음과 같이 입력하십시오.
tftp -g - host3 /etc/hosts
복사가 이루어졌을 경우, 다음과 유사한 정보가 화면에 표시됩니다.
192.100.13.3 nameserver
192.100.13.3 host2
192.100.13.5 host1
192.100.13.7 host3
192.100.13.3 timeserver
Received 128 bytes in 0.4 seconds
$ _
이 예제에서, host3이라는 원격 호스트로부터의 /etc/hosts 파일은 복사되었고, 국지 호스트의 표준 출력으로 출력이 재지정되었습니다.
원격 호스트로부터 파일을 복사하고, 그것을 grep 명령으로 파이프하고, 국지 파일에 기록하려면, 다음과 같이 입력하십시오.
utftp -g - host1 /home/john/schedule | grep Jones > jones.todo
$ _
이 예에서 /home/john/schedule 파일은 host1이라는 원격 호스트로부터 복사되었습니다. 그리고 나서 이 파일은 grep 명령으로 파이프되고, 국지 파일 jones.todo로 기록됩니다.
다른 시스템에 파일을 복사하려면, 다음과 같이 입력하십시오.
tftp -p /home/jeanne/test host2 /tmp/test
복사가 이루어졌을 경우, 다음과 유사한 정보가 화면에 표시됩니다.
Sent 94146 bytes in 6.7 seconds
이 예에서, /home/jeanne/test 파일은 host2라는 원격 호스트 상의 /tmp 디렉토리로 전송되었습니다.
2진 파일을 다른 시스템에 복사하려면, 다음과 같이 입력하십시오.
tftp -p core host3 /tmp/core image
복사가 이루어졌을 경우, 다음과 유사한 정보가 화면에 표시됩니다.
Sent 309295 bytes in 15 seconds
이 예제에서, 현재 디렉토리로부터 core 2진 파일이 host3이라는 원격 호스트 상의 /tmp 디렉토리로 전송되었습니다.
파일
/etc/tftpaccess.ctl 파일 및 디렉토리에 대한 액세스를 허용 또는 거부합니다.
관련 정보
ftp 명령, grep 명령, rcp 명령.
ftpd 디먼, inetd 디먼, tftpd 디먼, syslogd 디먼.
hosts 파일 형식, services 파일 형식.