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 ftpgroup2001 같은 숫자는 본인의 서버에 맞게 절적하게 설정하면 된다.
useradd -u 2001 -s /bin/false -d /bin/null -c "proftpd user" -g ftpgroup ftpuser
-s /bin/false 처럼 계정에 shell 을 사용하지 않기 때문에
proftpd.conf 에서
RequireValidShell off처럼 옵션값을 넣어준다.
5) mysql 유저정보 테이블 생성.
CREATE TABLE ftpgroups (다음과 같다. (Quota 설정을 사용하지 않았다)
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';
6) 테스트용 계정 입력.
위 생성한 테이블에 알맞는 계정 정보를 입력하면 끝이다.
INSERT INTO `ftpgroups` (`groupname`, `gid`, `members`) VALUES ('ftpgroup', 2001, 'ftpuser');homedir 만 주의해서 입력해주면 된다.(나머지는 알맞는 값 입력, userid,passwd 는 달라야 겠죠.)
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, '', '');
7) 퍼미션을 꼭 맞춰줘야 하는가?
위 예제에서는 uid, gid 를 2001 로 퍼미션을 맞춰줬는데, 다른 값(2005) 으로 넣어줘도 이상은 없다.
다만 위처럼 계정정보에 없어서 uid, gid 가 그대로 나온다.
받은 트랙백이 없고
,
댓글이 없습니다.
,
트랙백 주소 :: http://taemy.experlab.com/trackback/450
% 공지 : 혹시 트랙백이 안되시면, 댓글로 관련글을 남겨주세요.(수동트랙백) %




댓글을 달아 주세요