Web taemy's Site
지난번 자료를 보고 설정해 봤다.

ubuntu 에서 설정한 것을 정리한다(특별히 다른 부분은 없다)
ubuntu 버전은 8.04 LTS ( hardy ) 버전이다.

1) 일단 관련 패키지를 설치한다.
apt-get install proftpd-mysql
    만 해주면 관련 패키지 같이 설치된다(proftpd 포함)

2) 관련설정은 /etc/proftpd 에 저장된다.
 proftpd.conf  이외에 sql.conf  라고 sql 인증관련 설정이 따로 있다.
 주석(#) 만 해제해 주면 된다.
 proftpd.conf 에서는
Include /etc/proftpd/sql.conf
 부분을 주석해제해 준다.

3) sql.conf 설정.
SQLBackend      mysql
SQLAuthenticate users* groups*
SQLAuthTypes Crypt Plaintext
SQLConnectInfo ftpuser_db@localhost ftpuserid ftppasswd
SQLUserInfo ftpusers userid passwd uid gid homedir shell
SQLGroupInfo ftpgroups groupname gid members
위와 같은 옵션만 맞춰주면 된다.

4) FTP 접속용 로컬계정 생성.
groupadd -g 2001 ftpgroup
useradd -u 2001 -s /bin/false -d /bin/null -c "proftpd user" -g ftpgroup ftpuser
2001 같은 숫자는 본인의 서버에 맞게 절적하게 설정하면 된다.
-s /bin/false  처럼 계정에 shell 을 사용하지 않기 때문에
proftpd.conf 에서
 RequireValidShell              off
처럼 옵션값을 넣어준다.


5) mysql 유저정보 테이블 생성.
CREATE TABLE ftpgroups (
        groupname varchar(16) NOT NULL default '',
        gid smallint(6) NOT NULL default '2001',
        members varchar(16) NOT NULL default '',
        KEY groupname (groupname)
) TYPE=MyISAM COMMENT='ProFTP group table';

CREATE TABLE ftpusers (
        id int(10) unsigned NOT NULL auto_increment,
        userid varchar(32) NOT NULL default '',
        passwd varchar(32) NOT NULL default '',
        uid smallint(6) NOT NULL default '2001',
        gid smallint(6) NOT NULL default '2001',
        homedir varchar(255) NOT NULL default '',
        shell varchar(16) NOT NULL default '/sbin/nologin',
        count int(11) NOT NULL default '0',
        accessed datetime NOT NULL default '0000-00-00 00:00:00',
        modified datetime NOT NULL default '0000-00-00 00:00:00',
        PRIMARY KEY (id),
        UNIQUE KEY userid (userid)
) TYPE=MyISAM COMMENT='ProFTP user table';
다음과 같다. (Quota 설정을 사용하지 않았다)

6) 테스트용 계정 입력.
위 생성한 테이블에 알맞는 계정 정보를 입력하면 끝이다.
INSERT INTO `ftpgroups` (`groupname`, `gid`, `members`) VALUES ('ftpgroup', 2001, 'ftpuser');

INSERT INTO `ftpusers` (`id`, `userid`, `passwd`, `uid`, `gid`, `homedir`, `shell`, `count`, `accessed`, `modified`) VALUES (1, 'test', 'passwd', 2001, 2001, '/var/proftpd/test2', '/sbin/nologin', 0, '', '');
homedir 만 주의해서 입력해주면 된다.(나머지는 알맞는 값 입력, userid,passwd 는 달라야 겠죠.)


7) 퍼미션을 꼭 맞춰줘야 하는가?
 위 예제에서는 uid, gid 를  2001 로 퍼미션을 맞춰줬는데, 다른 값(2005) 으로 넣어줘도 이상은 없다.
사용자 삽입 이미지
다만 위처럼 계정정보에 없어서 uid, gid 가 그대로 나온다.


이올린에 북마크하기(0) 이올린에 추천하기(0)

트랙백 주소 :: http://taemy.experlab.com/trackback/450

% 공지 : 혹시 트랙백이 안되시면, 댓글로 관련글을 남겨주세요.(수동트랙백) %

댓글을 달아 주세요

[로그인][오픈아이디란?]