Proftp virtualhost configuration 설정 예제(proftpd.conf)

############################################                                                                      
#

#                       ProFTPD Korea User Groups                        
#                           http://proftpd.oops.org                

#                                                                    
############################################

# 번역 : 김정균 < admin@oops.org >
# 이 예제 설정 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                           nobody

# 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 tar아카이브(여러 파일을 한 파일로 묶은 것)을 생성하고 푼다.
아카이브의 확장자는 .tar 이다.

tar 는 실행시 반드시 옵션이 있어야 하기 때문에 옵션에 – 를 붙이지 않아도 된다(ps도 마찬가지 이유로 – 가 필요없다). 즉, tar xvf archive.tar 도 작동한다.

2 명령어 활용예
2.1 아카이브 풀기 tar -xvf archive.tar
archive.tar 라는 이름으로 묶인 파일과 디렉토리를 현재 디렉토리에 풀어준다. v 옵션은 파일을 푸는 과정을 화면에 출력해주라는 의미이다.

2.2 아카이브 만들기 tar -cvf archive.tar 묶을파일과디렉토리들
archive.tar 라는 이름으로 파일과 디렉토리를 묶어준다.

2.3 퍼미션을 유지하며 아카이브 만들기 tar -cvfp archive.tar 묶을파일과디렉토리들
archive.tar 라는 이름으로 퍼미션을 유지하며 파일과 디렉토리를 묶어준다.

2.4 tar+gzip 압축하기tar -czvf archive.tar.gz 묶을파일과디렉토리들
archive.tar.gz 라는 이름으로 파일과 디렉토리를 묶어준다. tar -czvfp archive.tar.gz 묶을파일과디렉토리들
archive.tar.gz 라는 이름으로 퍼미션을 유지하며 파일과 디렉토리를 묶어준다.

2.5 tar+bzip2 압축하기tar -cjvf archive.tar.bz 묶을파일과디렉토리들
archive.tar.bz 라는 이름으로 파일과 디렉토리를 묶어준다.

tar -cvjfp archive.tar.gz 묶을파일과디렉토리들
archive.tar.gz 라는 이름으로 퍼미션을 유지하며 파일과 디렉토리를 묶어준다.

2.6 gzip으로 압축된 tar 풀기 tar -xvzf archive.tar.gz
archive.tar.gz 라는 tar 로 묶인뒤 gzip 으로 압축된 파일을 먼저 압축을 푼뒤에 묶인 파일까지 풀어준다.

2.7 bzip2로 압축된 tar 풀기 tar -xvjf arhive.tar.bz
archive.tar.bz 라는 tar 로 묶인뒤 bzip2로 압축된 파일을 먼저 압축을 푼뒤에 묶인 파일까지 풀어준다.

2.8 허가권(Permission) 유지하며 풀기 tar -xpf archive.tar
파일을 묶을 당시의 각 파일의 허가권을 유지하며 풀어준다.