다음 이전 차례

7. 가상 FTP

7.1 Inetd

Wu-ftpd는 자체적으로 가상 시스템에 맞게 구성될 수 있다. 하지만, 각각의 도메인에 대해서 분리된 비밀번호 파일을 관리할 수는 없다. 예를 들면, bob@domain1.com bob@domain2.com 를 원할 때, 두 도메인의 계정 가운데 하나의 이름을 bob2로 바꾸던지 그 이외의 다른 계정 이름을 사용해야 한다. 하지만 만약 당신이 각각의 도메인에 대해서 가상의 파일시스템을 가지고 있다면, 각각의 비밀번호 파일을 가질 수 있기 때문에 이런 문제를 해결할 수 있다. 단지 virtnewuser 스크립트를 이용하여 사용자를 만들고 virtpasswd 스크립트를 이용해서 비밀번호를 설정해 주면 위에서 말한 상황에 대해 모든 설정을 끝낼 수 있다.

wu-ftpd를 위한 inetd.conf의 엔트리는 다음과 같다:

ftp stream tcp nowait root /usr/local/bin/virtuald \
        virtuald /virtual/conf.ftp wu.ftpd -l -a

7.2 익명의 FTP(Anonymous FTP)

이것은 virtuald의 설정에 영향을 받지 않는다. 우선 /virtuald/domain1.com/etc/passwd 안에 일반적인 경우와 마찬가지로 FTP 사용자를 생성한다.

ftp:x:14:50:Anonymous FTP:/var/ftp:/bin/false

그리고는 익명의 FTP를 위한 디렉토리를 설정한다. 각각의 도메인에 대해서 서로 다른 비밀번호 파일을 가지고 있기 때문에 익명의 FTP를 제공할 도메인을 선택할 수 있다. FTP 서버는 이미 chroot에 의해 /virtual/domain1.com 디렉토리에 설정되어 있기 때문에 어떤 추가경로도 앞에 설정할 필요는 없다.

7.3 가상의 FTP 사용자들

Wu-ftpd는 방문자 그룹(guest group)이라는 것을 지원한다. 이것을 이용하면 각각의 사용자들에 대해서 다른 FTP 공간을 만들 수 있다. 또한 FTP 서버는 특정 공간에 대해 chroot를 이용해서 사용자가 정해진 디렉토리 밖으로 나갈 수 없게 만들 수 있다. 만약 당신이 가상 도메인 안에 이 방법으로 사용자들을 추가한다면 그 사용자들은 시스템 파일들을 볼 수 없게 된다.

방문자 그룹은 /virtual/domain1.com/etc/ftpaccess 파일에 추가된다.

/virtual/domain1.com/etc/passwd 안에 엔트리를 만들고 시작하는 홈 디렉토리는 chroot 디렉토리와 /./로 분리한다.

guest1:x:8500:51:Guest FTP:/home/g/guest1/./incoming:/bin/false

그 다음에는 방문자의 홈을 익명의 FTP를 설정하던 때와 마찬가지로 설정해 준다. 각각의 도메인에 대해서 비밀번호 파일을 따로 관리하기 때문에 어떤 도메인에 방문자 계정이 존재하는지, 그리고 각 도메인의 어떤 사용자들이 방문자 그룹으로 설정되어 있는지를 설정할 수 있다. 다시 한번 강조하는데, 이미 chroot에 의해서 FTP 서버가 /virtual/domain1.com 디렉토리로 설정되어 있기 때문에 경로앞에 어떤 추가적인 정보를 줄 필요는 없다.


다음 이전 차례