HOME > 게시판 > 기타
게시판| 기타
※ 게시판 용도에 맞지 않는 글(광고및 홍보 글 등)은 임의삭제될 수 있습니다.

 
작성일 : 09-08-19 20:17
FTP 설치와 도메인 관련해서 질문드립니다.
 글쓴이 : 안명선
조회 : 1,358  

제가 제가 가지고 있는 컴퓨터에 페도라8.0을 설치하고 이 컴퓨터를 서버 컴퓨터로 해서 홈페이지를 제작하려고 합니다.

 

첫번째 질문으로

 

일단 고정 아이피 획득을 위해 학교에 서브 도메인을 신청했는데요, (직접 고정아이피를 얻는게 아니라 도메인 명만 얻는거요.)

 

학교 측에서는 도메인을 생성했으니 제가 제 컴퓨터로 그 도메인을 설정해라고 하네요. 그런데 제가 이 설정 방법을 모르고 어떻게 해야 하는지 모르겠습니다.

 

두번째로 페도라에 FTP를 설치해야 하는데 잘 안되네요..

소스를 받아서 make install까지는 했는데 그 이상이 안됩니다.

제가 참고한 자료에 나온 대로 진행하고 싶어도 안되네요.

 

일단  5번에서 user/group부분이 nobody, nogruop으로 되어 있고

 

그 뒤로 파일이 없는 것도 있고 하는게 너무 많습니다.

어떻게 설치하고 이용하는지 알려주시면 감사하겠습니다.

 

제가 쓰는 컴퓨터는 터미널 모드외에는 되지 않는데 여러가지로 많이 어렵네요.

 

참고로 두번째 질문에서 참고한 자료는

 

http://blog.naver.com/hgh73?Redirect=Log&logNo=90024948244

 

이 곳과 다음의 글입니다.

 

리눅스 ftp 설치 관리
proftp.conf,가상 ftp  

1-2. FTP 서버의 설치
다운로드 : http://proftpd.oops.org/download.php3?item=official
소스 : proftpd-core-1.2.0pre10-1.i386.rpm,
proftpd-standalone-1.2.0pre10-1.i386.rpm(standalone 용)
proftpd-inetd-1.2.0pre10-1.i386.rpm(inetd용)

1) standalone 으로 설치하기
소스가 있는 ftp 서버에서 최신의 Proftp 의 데몬을 다운로드 받아서 다음과 같이 설치한다.
proftpd-core-1.2.0pre10-1.i386.rpm 와 proftpd-standalone-1.2.0pre10-1.i386.rpm를 다운받고 다음과 같이 설치를 한다.

rpm -Uvh proftpd*rpm

2) inetd 으로 설치하기
proftpd-core-1.2.0pre10-1.i386.rpm 와 proftpd-inetd-1.2.0pre10-1.i386.rpm를 다운받아 설치한다.

3) 소스파일일 때
소스파일일 때는 다음과 같이 설치한다.

① proftpd를 인스톨하기 위하여 user와 group을 결정해야 한다. 기본적으로 user는 root, group은 root로 되어 있다. 만약 간단하게 이 defaults를 사용하려면 프로그램의 top level directory로 부터 아래와 같은 명령을 실행한다.
$ ./configure

[옵션]
BSDI에서와 같이 다른 user와 group으로 install을 하기를 원한다면 install_user와 install_group이라는 환경변수로서 셋팅을 해 줄 필요가 있다. sh/ksh/bash를 사용한다면, BSDI system에서는 아래와 같이 무언가를 해줘야 한다.
$ install_user=root install_group=wheel ./configure

기본적으로 gnu configure script는 모든 binary들을 /usr/local/bin 과 /usr/local/sbin 에 install을 한다. configure script의 command line에 "--prefix" 인자를 사용하면 이것을 바꿀수 있다. 예를 들어 /usr/sbin에 proftpd를 install하고 /usr/bin에 binary를 위치시키기 위해서는 아래와 같이 해준다.
$ ./configure --prefix=/usr

"configure --help" 명령으로 실행할수 있는 모든 인자들의 목록을 얻을 수 있다.
$ ./configure --help

ProFTPD는 "--with-modules=LIST"인자로 module들을 추가할수 있다. 이 option들은 contrib directory에 있는 추가적인 module들만 해당한다. "--with-modules" 인자에 의해서 모든 것이 영향을 받지는 않는다.

② configure를 실행한 후에, configure script의 출력을 볼 수 있을 것이다. configure가 해당 platform을 scan한 것 중 잘못된 것을 찾기 위하여 config.h 파일을 scan하는 것이 좋다. 모든 것이 제대로 되었다면, 다음 단계를 계속한다.

③ 프로그램의 최상위 디랙토리에서 "make"를 실행한다. (BSDI와 같이)오래된 make utility를 사용하는 system에서는 대신에 GNU make (보통 gmake라 한다)를 사용할 필요가 있다. compile 진행의 출력을 보고 에러가 발생하지 않는지를 확인하라. 어떤 platfrom(특히 AIX와 IRIX)들에서 어떤 편집 또는 link 경고를 볼 수도 있다. 이것들은 일반적으로 무시하면 된다. make가 proftpd binary와, 관련된 utility들을 완벽하게 생성한 후, 4단계로 계속한다.

④ 프로그램의 최상위 디랙토리에서 "make install"을 실행한다. 이것은 /usr/local/sbin에 proftpd를 그리고 /usr/bin에 util들을 설치할 것이다. 마찬가지로 sample-configurations 디랙토리에서 볼 수 있는 "basic.conf" 파일을 /usr/local/etc/proftpd.conf로 복사할 것이다.

⑤ /usr/local/etc/proftpd.conf 를 수정한다. User/Group이 시스템에 실제로 존재하는 지 확인을 한다. 그렇지 않으면 proftpd는 작동하지 않는다.

⑥ proftpd를 실행할 때 inetd/xinetd 으로 할 지 standalone 으로 할 지 결정을 한다. 결정을 했으면 /etc/proftpd.conf의 ServerType 지시자를 결정한 것에 맞게 변경한다. (ServerType inetd 또는 ServerType standalone 중에 하나로 하면 된다) standalone으로 지정했다면 step 7은 건너뛰도록 한다.

⑦ inetd로 proftpd를 실행하기 위해서는 /etc/inetd.conf를 편집해 줘야 하며 바뀐 설정을 재적용하기 위하여 inetd를 재실행해야 한다. /etc/inetd.conf에서 아래와 같은 라인을 볼 수 있을 것이다.
ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd -l -a -u022

위의 라인을 아래와 같이 변경해 준다 :
ftp stream tcp nowait root /usr/sbin/proftpd proftpd

ProFTPD는 또한 tcp_wrapper와 같이 사용할 수 있다 :
ftp stream tcp nowait root /usr/sbin/tcpd proftpd

⑧ standalone mode로 실행을 한다면 부팅시 proftpd를 실행하기 위해 boot script를 편집해 줘야 한다. shell로 부터 이것을 실행함으로서 즉시 간단하게 시작할 수 있다. (이것은 root로서 실행되도록 할 필요가 있다.)

⑨ system에서 ftp가 제대로 작동되는지와 모든 작업이 제대로 되는지를 확인하라. 실행에 문제가 있다면 syslog*를 체크하도록 한다.

⑩ MaxClients, MaxClientPerHost와 ftpwho/ftpcount 설정을 하기 위해서, proftpd의 scoreboard file을 위한 scoreboard path를 지정할 필요가 있다. scoreboard file의 path는 기본적으로 "/usr/local/var/proftpd"로 설정되어 있다.

proftpd.conf에서 다른 directory를 지정하기 위해 ScoreboardPath 지시자를 사용할 수 있다. 또는 이것이 존재하지 않는다면 mkdir로 /usr/local/var/proftpd를 할 수도 있다.

ALL user들이 ftpwho와 ftpcount를 실행하는 것을 원하지 않는 한, directory에 특별히 permission을 변경할 필요는 없다.

⑪ anonymous ftp를 추가하기를 원하거나 좀더 정교한 ftp 설정을 하기를 원한다면 http://www.proftpd.org/reference.html 에 있는 guide를 참조하기 바란다. 새로운 ftp 설정을 test하기 위해서 command line에서 proftpd -c <now_config_file>을 실행할 수 있다. 그리고 새로운 설정 file이 문법 오류를 발생한다면 오류 메세지를 볼 수 있을 것이다. inetd mode로 실행을 하고 설정이 오류가 없다면 안전하게 무시할 수 있는 "Fatal: Socket operation on non-socket" 를 보게 될 것이다. (이것은 inetd가 demon을 띄울 때 나타나지는 않는다.)

1-3. proftpd.conf 수정
RPM의 경우에는 미리 설정이 되어 나오기 때문에 확인만 하면 된다. 그러나, 소스 파일을 컴파일한 경우에는 다음을 참고하여 설정하기 바란다.

1) 일반적인 사항들
다음은 proftpd.conf 파일 예제이다. 이것을 보면 일반적인 사항에 대한 것을 알 수가 있다.

# vi proftpd.conf
ServerName "Oops Proftpd FTP Server"

# ServerType은 Server를 standalone mode로 할것인지 inet mode로 할 것
# 인지를 정한다. default로 inetd mode로 한다. standalone mode로 할 경우
# 아래 MaxInstances 지시자의 주석을 해제한다.
# inetd mode로 작동을 할 경우에는 /etc/inetd.conf 중에서
# ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
# 행을 아래와 같이
# ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd
# 수정을 해 주고 Inet demon을 재실행 해 줘야 한다.
# ServerTypestandalone
ServerType inetd
DefaultServer on

# ServerType이 standalone이면 이 항목의 주석을 풀어 줘야 한다.
# inetd로 작동을 시킬시에는 /etc/services에서 port를 지정한다.
Port 21

# root login을 허락할지의 여부를 지정한다. PAM modules를 사용한다.
# 먼저 /etc/proftpd/conf/ftpusers에서 root를 삭제해야 한다.
RootLogin on

# Global section은 proftpd의 전체적인 설정에 모두 적용시킨다.

<Global>
# group과 world writable로 부터 새로운 dir과 file들을 생성하는 것을
# 막기 위하여 기본적으로 umask는 022로 설정을 한다.
Umask 022

# ftpusers file을 이용하여 PAM인증을 하기를 원하면 이 지시자의
# 값을 on으로 한다. default 값은 off 이다.
AuthPAMAuthoritativeoff
</Global>

# 회선의 Bandwidth를 특정 속도로 제한을 한다. 단위는 bps이다.
#RateReadBPS 256
#RateReadFreeBytes 5120
#RateReadHardBPS on

# 접속 대기 시간을 설정한다. user 가 접속 후 아무 작동도 안할 때 일정 시간 후에
# 접속이 종료되게 한다
TimeoutIdle 300

# DeferWelcome 는 client가 인증을 하기 전에 servername을 display하는 것을 방지한다.
DeferWelcome off

# 'welcome.msg는 login시에 보여지고, 'message'는 각 하위 디렉토리에 접속
# 했을 때 보여지게 된다.
DisplayLogin /etc/proftpd/conf/welcome.msg
DisplayFirstChdir .message

# DoS 공격을 막기 위해, 자식 process의 maximun number를 30으로 설정한다.
# 만약 30이상의 접속을 허락할 필요가 있다면 간단하게 이 치수를 증가시키도록
# 한다. 이것은 오직 standalone mode에서만 가능하다. inetd mode에서는
# service 당 maximun number를 제한하는 것을 허락하는 inetd server에서
# 설정을 해야 한다.(xintd 역시 마찬가지이다)
# MaxInstances 30
User nobody
Group nobody

# 일반적으로 file들을 overwrite를 가능하게 한다.
<Directory /*>
AllowOverwrite on
</Directory>

# ls 명령어의 -a option으로 hidden file을 볼 수 있게 한다.
# LsDefaultOptions "-a"
<Anonymous ~ftp>
User ftp
Group ftp

# Anonymous user가 ftp로 접근하여 shell의 권한을 얻는 것을 방지한다.
RequireValidShell off

# Anonymous 접근을 할 때 특정 password를 지정할 수 있다.
# 단 위의 User 지시자의 name이 passwd file에 등록이 되어져
# 있어야 한다. 이 지시자가 on일 경우 이메일 주소로 login을 할 수 없다.
# AnonRequirePassword on
# ShowSymlinks off
# User name "ftp"로 anonymous login을 할수 있도록 한다
UserAlias anonymous ftp

<Limit LOGIN>
AllowAll
</Limit>

DisplayLogin welcome.msg
DisplayFirstChdir .message

# 최대 접속 인원수를 지정한다.
MaxClients 10

# 하나의 호스트로부터 동시에 접근할 수 있는 수를 지정한다.
# 아래의 기본 설정으로는 하나의 호스트에서 한번의 접근만 허용한다.
MaxClientsPerHost 3 "Sorry, one connection allow per one host"

# 소유권이 root인 file이나 directory들을 보여주지 않는다
HideUser root

# 그룹권한이 root인 file이나 directory들을 보여주지 않는다
HideGroup root

# upload/download 비율을 지원한다.
# /usr/doc/proftpd-1.2pre7/mod_ratio.c를 참조하라
#
# Ratios on
# HostRatio foobar.net 100 10 5 100000
# 서버를 시간대로 운영하는 것을 지정한다.
# 아래의 예는 오후 3시 부터 오후 6시까지만
# 서버의 접속을 가능하게 한다.
#
# UpTime 15
# DownTime 18

<Limit WRITE>
DenyAll
</Limit>

# Upload directory, allow upload and mkdir, deny download.
# Upload directory 설정이다. upload와 mkdir은 허락하며,
# download는 거절한다
#
# <Directory incoming>
# <Limit READ>
# DenyALL
# </Limit>
# <Limit STOR MKD>
# AllowALL
# </Limit>
# </Directory>

# 사용자가 접근하기를 원하지 않는 private directory
# <Directory logs>
# <Limit READ WRITE DIRS>
# DenyAll
# </Limit>
# </Directory>
</Anonymous>

2] 가상 서버의 FTP
가상 서버를 만들기 위한 설정의 예제이다.

# 이 예제 설정 file은 두개의 가상 server와 anonymous login를 결합하는
# 것을 설명하고 있다.

ServerName "ProFTPD"
ServerType inetd

# Port 21 은 FTP 의 기본 port이다.

Port 21

# Global은 main server와 모든 virtualhosts에 의해 공유되는 "global" 설정을 생성한다.

<Global>
# Umask 022는 group과 world writable로 부터 새로운 dir과 file들을 막기
# 위한 훌륭한 기본 umask이다.

Umask 022

</Global>

# Server가 실행하는데 일반적인 user와 group을 설정한다.

User nobody
Group nogroup

# DoS 공격을 막기 위해, 자식 process의 maximun number를 30으로 설정한다.
# 만약 30이상의 접속을 허락할 필요가 있다면 간단하게 이 치수를 증가시키도록
# 한다. 이것은 오직 standalone mode에서만 가능하다. inetd mode에서는
# service 당 maximun number를 제한하는 것을 허락하는 inetd server에서
# 설정을 해야 한다.(xintd 역시 마찬가지이다)

MaxInstances 30

# 접속에 stall이 될 때 끊어지지 않는 최대 시간을 지정한다.

TimeoutIdle 300
<VirtualHost ftp.virtual.com>
ServerName "Virtual.com's FTP Server"
MaxClients 10
MaxLoginAttempts 1

# DeferWelcome 는 client가 인증을 하기 전에 servername을 display하는 것을 방지한다.

DeferWelcome on

# guest login만 허락하기를 위하여
# nomal user login을 제한한다.

<Limit LOGIN>
DenyAll
</Limit>

# 다음, 자신들의 web site 등에 개인적으로 접근하기 위한 customer에
# 의해 사용되어 지는 "guest" 계정을 만든다.

<Anonymous ~cust1>
User cust1
Group cust1
AnonRequirePassword on
<Limit LOGIN>
AllowAll
</Limit>

HideUser root
HideGroup root

# 사용자가 접근하기를 원하지 않는 private directory

<Directory logs>
<Limit READ WRITE DIRS>
DenyAll
</Limit>
</Directory>
</Anonymous>
</VirtualHost>

# primary address에서 작동을 하지만 port는 4000번을 사용하는 또 다른
# virtual host 이다. access는 하나의 anonymous login만 된다.

<VirtualHost our.ip.address>
ServerName "Our private FTP server"
Port 4000
Umask 027
<Limit LOGIN>
DenyAll
</Limit>

<Anonymous /usr/local/ftp/virtual/a_customer>
User ftp
Group ftp
UserAlias anonymous ftp

<Limit LOGIN>
AllowAll
</Limit>

<Limit WRITE>
DenyAll
</Limit>

<Directory incoming>
<Limit WRITE>
AllowAll
</Limit>

</Directory>
</Anonymous>
</VirtualHost>

1-4. ftp 서버 관리하기
ftp도 보안을 위해서는 일정한 모니터링이 필요하고, 그것의 가장 단순하고 유용한 작업은 로그 파일을 읽는 것과 현재의 접속 상태를 점검해 보는 것이다. 그러므로, ftp 서버를 관리하기 위한 명령어 등을 알아보기로 한다.

[proftp 의 중요 파일들]
/usr/sbin/proftpd
/usr/bin/ftpwho
/usr/bin/ftpcount
/usr/sbin/ftpshut
/var/log/xferlog
/var/run/proftpd-[pid]
/var/run/proftpd-inetd

1) proftp 설정을 위한 명령 proftpd
① 사용법
proftpd [ -hlnv ] [ -d debuglevel ] [ -c config-file ] [ -p 0|1 ]

② 설명
proftpd는 전문적인 File Transfer Protocol (FTP) server daemon이다. server는 FTP service가 이루어지기 위해 접속될 때마다 또는 stand-alone daemon으로서 실행되는 것을 대체될 때, Internet "super-server" inetd에 의하여 시작된다. proftp가 standalone mode로 작동할 때, 그리고 SIGHUP를 받을 때 proftp는 config file을 다시 읽을 것이다.

③ 옵션

-h,--help 간단한 사용설명을 보여주며, 가능한 모든 option들을 포함하고 있다.
-n,--nodaemon
standalone mode로 proftpd process를 실행한다.(configuration file에서 처럼 설정되어 있어야 한다) but does not background the process or disassociate it from the controlling tty. 게다가 모든 output (log 또는 debug 메세지들)은 syslog maechanism 보다 오히려 stout으로 보내지게 된다. debugging을 위해서는 -d option 을 가장 자주 사용하게 된다.

-v,--version
stdout으로 ProFTPD의 version number를 출력한다.

-d,--debug debuglevel
proftpd의 내부 debug lovel을 설정한다.(일반적으로 0이다) debuglevel은 0에서 5 사이의 정수값을 가지며, debug stdout 보다 더 높은 숫자로서 가지게 된다. 일반적으로 debug message들은 DEBUG facility를 이용하여 syslog로 보내지게 된다. 하지만 -n option 을 이용하면 모든 output들은 stdout으로 보내지게 된다.

-c,--config config-file
시작시에 /etc/proftpd.conf 에서 발견되는 기본 설정 file을 무시하고 다른 config-file로 지정할 수 있다.

-p,--persistent 0|1
default persistent password를 지원한다. Dis-ables는 0, enable은 1 이며 각 platform을 통해 설정 시간을 결정한다. 이 option은 오직 default support에만 영향을 미치며, 실행시에 Persis-tentPasswd 지시자에 의해서 무시되어 질 수 있다.

-l,--list proftpd에 compile되어진 module들의 list를 보여 준다.

2) 유저 정보 보기
① 유저 프로세스 정보 보기 - ftpwho
이 명령을 내리면 ftp 유저들의 현재 process 정보를 보여준다. 그래서, 모든 proftpd에 연결되어 있는 process의 정보를 보여주며, 각 server 의 접속되어 있는 수를 보여준다. inetd로 부터 생성된 proftpd session들은 standalone server에 의해 생성된 것들과는 구분하여 count된다.

[옵션 설명]
-h,--help 모든 사용가능한 옵션들의 간단한 사용 설명을 보여준다.
-p,--path scoreboard-path
proftpd.conf 에서 ScoreboardPath 지시자를 통해 설정하는 proftpd의 동적 scoreboard file의 full path를 지정한다. 만약 proftpd의 기본 directory가 이 지시자에 의해서 변경되었다면, ftpwho를 다시 compile을 하여야 하거나 이 option을 사용하여 proftpd scoreboard file을 지정해야만 한다.

-v,--verbose
remote host와 현재 작업 directory와 같이 각 connection에 대한 추가적인 정보를 보고한다.

② 서버에 접속한 유저 숫자 보기 - ftpcount
이것은 각 proftpd server 설정에 접속되어 있는 user의 숫자를 보여준다. 이것은 proftpd.conf file에 정의되어 있는 각 server와 virtualhost/anonymous 설정에 접속해 있는 현재 숫자를 보여 준다. inetd에 의해 생성된 접속은 proftpd standalone server에 의해 생성된 것들로 부터 구분되어 count되어 진다.

[옵션 설명]
-h,--help 모든 사용가능한 옵션들의 간단한 사용 설명을 보여준다.
-p,--path scoreboard-path
proftpd.conf 에서 ScoreboardPath 지시자를 통해 설정하는 proftpd의 동적 scoreboard file의 full path를 지정한다. 만약 proftpd의 기본 directory가 이 지시자에 의해서 변경되었다면, ftpcount를 다시 compile을 하여야 하거나 이 option을 사용하여 proftpd scoreboard file을 지정해야만 한다.

3) 지정한 시간에 서버를 끄자. - ftpshut
① 사용법
ftpshut [ -l min ] [ -d min ] time [ warning-message ]

② 설명
지정한 시간에 모든 proftd server들을 shutdown 한다. 이 명령은 자동으로 shtudown 진행을 준비하고, 자동으로 현재 proftpd connection을 끊을 수 있으며, 새로운 연결을 거부하도록 할 수 있다. 명령은 suhtdown이 임박함을 proftpd process에 알리기 위하여 /etc/shutmsg와 같은 control file을 이용하여 사용할 수 있다.

③ 옵션
time time은 ftp server를 down시킬 시간을 말한다. now'라는 단어는 즉시 shutdown을 지시하며 +number 또는 HHMM. 이라는 두 개의 형식 중 하나는 미래의 시간에 shut down을 지시한다. 첫번째 형식은 number 분 후에 server를 down 하며 두번째 지시자는 하루 중 정확한 시간을 지시하며 24시간 clock 형식을 사용한다. (예 오후3시 30분 : 1530 )

-l min shutdown 전에 새로운 ftp access를 거부하는 것을 분단위의 숫자로 지정한다. 만약 -l 옵션을 지정하지 않으면, 기본으로 10분이 적용된다. (만약 shutdown 까지 10분이 채 남지 않는다면 즉시 적용된다.)

-d min shutdown 전에 현재 ftp connection들을 종료하는 것을 분 단위의 숫자로 지정한다. -d 옵션을 지정하지 않으면 기본으로 5분이 적용된다. shutdown이 5분 이내로 남았다면 즉시 접속이 종료된다.

warning-message(경고 메세지)
새로운 접속을 거부하거나 현재 연결되어 있는 session을 종료시킬 때 부가적으로 메세지를 준비할 수 있다. 메시지는 아래와 같은 변수를 이용해서 작성할 수 있다.

%s proftpd가 종료하는 시간
%r 새로운 접속이 거부되기 시작하는 시간
%d 현재 접속이 종료되는 시간
%C 현재 작업중인 directory (where applicable)
%L local host name (of virtualhost name)
%R remote host name
%T local time (형식 : Thu Nov 15 17:12:42 1990)
%U login time 시에 주어진 username

④ 주의할 점
a. Proftpd server는 master demon이 standalone mode로 동작시에는 ftpshut을 통해서만 shutdown을 할 수가 있다. Server가 inetd mode로 샐행이 된다면 ftpshut에 의해 생성된 shutdown message file을 사용할 수 있다. 하지만 현재 동작중인 server는 chroot되어 질 것이며, shutdown message control file을 읽지 못한다.

b. 현재 시간보다 이전의 시간을 절대적 shutdown 시간으로 지정할 수도 있는데, 이 경우에는 다음날 지정한 시간이 되어야지 shutdown이 된다.

4) 보안을 위해 로그 파일을 읽는다. - XFERLOG(FTP server logfile)
① 설명
xferlog file은 FTP server daemon ( ftpd(8) ) 의 logging 정보를 포함한다. 이 file은 보통 /usr/adm 에서 볼 수 있으나, ftpd(8) 의 options을 사용함에 따라 어디든지 위치되어 질 수 있다. Each server entry is composed of a single line of the following form, with all fields being separated by spaces. 각 server 항목은 아래의 form으로 이루어진 한 줄로 구성되어 지며, 모든 field는 space로 구분되어 진다.

② 로그 설명
current-time transfer-time remote-host file-size filename transfer-type special-action-flag direction access-mode username service-name authentication-method authenticated-user-id completion-status

current-time
"DDD MMM dd hh:mm:ss YYYY" 형식의 현재 local 시간이다. DDD는 주중의 요일을, MMM은 월을, dd는 날짜를, hh는 시를, mm은 분을, ss는 초를, 그리고 YYYY는 년도를 나타낸다.

transfer-time
전송을 위한 총 시간을 말하며 초단위로 표시한다.

remote-host
원격 host 이름이다.

file-size
byte단위의 전송된 file의 크기이다.

filename
전송된 file의 이름이다.

transfer-type
전송의 형태를 나타내는 하나의 character이다.

a 는 ascii 전송을 뜻한다.
b 는 binary 전송을 뜻한다.

special-action-flag

어떤 특정한 action이 발생하는 것을 나타내는 하나 또는 그 이상의 character flag 이다. 아래에 나열된 것 중의 하나 또는 그 이상으로 사용할수 있다.

C file은 압축되어져 있다.
U file은 압축이 되어져 있지 않다.
T file이 tar로 묶여져 있다.
_ 아무런action이 발생하지 않았다.

direction
전송의 지시이다.

o outgoing
i incoming

access-mode
user가 어떻게 login을 하는가에 대한 방법이다.

a (anonymous) 는 익명 손님 user들을 위한 것이다.
g (guest) is for an passworded guest user (see the (guest) 는 password를 소유한 손님 user들을 위한 것이다. ( ftpaccess(5) 의 guestgroup 명령을 참조하라)

r (real) 은 인증이 가능한 local user를 위한 것이다.

username
local username 이다. 만약 손님 이라면, 주어진 ID 문자열을 뜻한다.

service-name
발생되어지는 service의 이름이며 보통은 FTP이다.

authentication-method
인증에 사용되어 지는 방법이다. 아래중의 하나를 사용한다.

0 none
1 RFC931 Authentication

authenticated-user-id
인증 방법에 의해 되돌려지는 user id 이다. 인증되어진 user id가 사용불가 하다면 * 이 사용되어 진다.

completion-status
전송 상태를 나타내는 하나의 character이다.

c 완전한 전송
i 불완전한 전송

[실제 로그 파일 예제]
Sun Nov 14 00:27:54 1999 0 166.104.37.130  3495   /usr/local/apache/htdocs/h3.htm a _ i r webmaster ftp 0 *
Mon Nov 15 20:42:19 1999 0 166.104.53.121  304242 /home/xenus/photo-1.tif         b _ i r xenus ftp 0 *
Mon Nov 15 20:42:25 1999 0 166.104.53.121  304242 /home/xenus/photo-2.tif         b _ i r xenus ftp 0 *
Wed Nov 17 08:14:24 1999 1 210.114.253.140 46819  /home/xenus/gtk-apdx-c.hwp      b _ i r xenus ftp 0 * 


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기

안명선 09-08-19 20:18
 
아 그리고 제가 설치하려는 FTP는 proFTP입니다.