>> Delete No. 3116 article
No. proftpd.conf 참조 하세요

등록 2002-12-02 17:42:00     조회 5
이름 killbug0    

		SQLConnectInfo dbname@host:port username password
예) SQLConnectInfo                  killbug0@localhost root ""
 SQLAuthTypes Backend Plaintext
		Backend : db에 암호화 해서 저장 했을때
		Plaintext : db에 평문으로 저장 한때
		쉽게 애기하면 password를 함수를 사용하면 Backend
 
예) SQLAuthTypes                    Backend
 SQLAuthenticate users groups usersetfast groupsetfast
	보통 테이블이 몇개 필요한데요 유저 테이블만 쓸때 사용합니다.
	다른 문서를 보시면 유저 테이블과 그룹 테이블이 존재합니다.
         주의 ) 여기서 users는 사용한 테이블 이름과 연관이 없습니다.
예) SQLAuthenticate                 users
 SQLUserInfo users username password uid gid NULL NULL
	users : 테이블 이름
	username : ftp login id
	password : 암호
	uid : uid
	gid : gid
	homedir : 홈 디렉토리
	shell : 쉘의 종류 (RequireValidShell on 연관)
	그리고 사용하지 않을때는 NULL을 사용하세요
	또 테이블을 구성 할때 위의 것은 최소한의 운영이고 다른
        정보도 테이블에 추가 하시고요
	꼭 필드를 위의 것과 같은 순서대로 나열해주시면 되요.
 
예) SQLUserInfo    ftp_member userid passwd uid gid homedir shell
 밑에는 로그인 한후 사용되지요 보통 접속 카운트 같은거
SQLLog         PASS updatecount
SQLNamedQuery  updatecount UPDATE "count=count+1
               WHERE userid='%u'" ftp_member
밑에 것은요 valid=1 일 때만 접속을 허가
SQLUserWhereClause              "valid = 1"
 RequireValidshell 지시자는 /etc/shells 에 없는 쉘로 로그인 하는 것
을 허락하거나 거절하는 것에 대하여 server, virtual host, anonymous
로그인을 설정한다.   기본적으로 proftpd 는 /etc/shells 에 유저들의
기본 shell 이 없으면, 로그인을 허락하지 않는다.  /etc/shells 가 없
다면, 모든 shell 들을 유효한 것으로 취급을 한다.
그리고 shell의 필드가 NULL로 사용하시거나 무시하고 싶다면 off하세요
 예)RequireValidShell on
 참고로 제가 사용하는 테이블 구조 참조만 하시와요.
 CREATE TABLE ftp_member (
  no int(10) NOT NULL auto_increment,
  userid char(17) NOT NULL default '',
  uid int(11) default '1000',
  gid int(11) default '1000',
  passwd char(16) NOT NULL default '',
  shell char(30) default '/bin/bash',
  homedir char(50) default '/home/movie',
  valid int(1) default '0',
  count int(5) default '0',
  name char(16) NOT NULL default '',
  email char(50) NOT NULL default '',
  relation char(60) default '',
  PRIMARY KEY  (no),
  UNIQUE KEY email (email),
  UNIQUE KEY userid (userid)
) TYPE=MyISAM;
   : Proftpd + mysql 설치하기(debian woody)
:
:  1. 설치
: 소스 받는곳  :  http://proftpd.org (1.2.7rc2 기준으로 설치하였음.)
:                       http://www.mysql.com (3.xx.xx )
:  압축푼다.   tar zxvf  mysql-xxxxx.tar.gz 
: # ./configure --prefix=/usr/local/mysql  --with-mysqld-user=mysql  --
with-charset=euc_kr
: # make;make install
: # /usr/local/mysql/bin/mysql_install_db
: # groupadd -g mysql 
: # useradd mysql -g mysql -d /usr/local/mysql
: #  cp /usr/local/mysql/share/mysql/mysql.server  /etc/init.d/mysql
: # cp /usr/local/mysql/share/mysql/my-medium.cnf  /etc/my.cnf
: # /etc/init.d/mysqld start
:     라이브러리 링크 시킨다.
:     ln -s /usr/local/mysql/include/mysql       /usr/include/mysql
:     ln -s /usr/local/mysql/lib/mysql           /usr/lib/mysql
:     또한가지 더  => #ln -
s  /usr/lib/mysql/libmysqlclient.so.10.0.0  /usr/lib/libmysqlclient.so
 연결한다.
:
:  압축을 푼다 tar xvf proftpd-1.2.7rc2.tar.gz
:  $cd proftpd-1.2.7rc2   
:  $./configure --with-
modules=mod_sql:mod_sql_mysql:mod_ratio:mod_linuxprivs:mod_readme
:  $make;make install
:  모듈 확인 하자   #/usr/local/sbin/proftpd -l       : modules 리스트
가 출력된다.. 확인.
:  기본 디렉토
리  /usr/local/bin  /usr/local/sbin  /usr/local/man /usr/local/etc /usr
/local/var 가 생긴다.
:
:  mysql 디비 와 테이블 만들기
:
:  mysqladmin create  <db_name> or  $ mysql   mysql => $mysql>craete
database <db_name>; 한다.
:   ex>  mysqladmin  create  proftpd  <-- 데이타베이스이름
:
:  To create a user table:
: CREATE TABLE users (userid VARCHAR(30) NOT NULL UNIQUE, passwd
: VARCHAR(30) NOT NULL, uid INTEGER UNIQUE, gid INTEGER, homedir
: VARCHAR(255), shell VARCHAR(255))
:
: To create a group table:
: CREATE TABLE groups (groupname VARCHAR(30) NOT NULL, gid INTEGER NOT
: NULL, members VARCHAR(255))
:
: 테스트 환경 만들기 :
:   $mysql>insert into values('ktgman',password
('12345'),NULL,NULL,NULL,'/bin/sh');
:   $mysql>exit
:
: proftpd.conf   -- 환경설정 파일  만들기 . (그냥 sample-
configureations안에있는거 약간 고쳐서 한다)
:   mod_sql.conf   --> proftpd.conf 로  바꾼다.
:  $ mv mod_sql.conf /usr/local/etc/proftpd.conf 한다.
: ServerType	         standalone    -->  inetd
:
: SQLConnectInfo dbname@host:port username password 
: -> (ex:  proftpd@localhost:3306 power  12345  (mysql 계정에 등록된 사
용자를 말함.)
:
: SQLUserInfo users  userid passwd uid gid NULL NULL
:
: SQLDefaultHomedir "/tmp"    --->    "/var/ftp/pub"  (ftp 기본디렉토
리 지정, 자기 맘대로)
:  다른거 추가하고 싶으면  공부더 해서 알아서 하셈.  아주 기본적인 설정
만 한것임.
:
:    inetd 로 돌리기 --> vi /etc/inetd.conf  에 추가 혹은 변경
:
:    ftp stream tcp nowait root /usr/local/sbin/proftpd proftpd 
:
:    inetd  데몬 다시 돌리기  $/etc/init.d/inetd restart
:
:
:   test 하기    $ftp  localhost
:                  Connect to l27.0.01 ...
:                  220 ProFTPD 1.2.7rc2 server 
:                   Name(localhost:xxx):  ktgman
:                   331  Password required for mysql
:                   Password : 12345
:                   230 User ktgman logged in,
:                   Remote system type is Unix
:                   Using binary mode to tansfer files.
:                    ftp> _<깜빡깜빡> 
:                  그럼 수고 하시라...
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved