레이블이 Suse Linux인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Suse Linux인 게시물을 표시합니다. 모든 게시물 표시

2012-10-06

DBMS/MySQL]권한설정

이글은 proftp DB생성과 유저등에 관한 것을 예로 설명하는 것입니다.

1.mysql설정을 한뒤 'proftp'데이터베이스 생성합니다.

#/usr/local/bin/mysqladmin -u proftp -p create proftp

==> 왠일인지 mysqladmin 이 mysql서버에 접근을 못하게 되어있다. 그래서 직접 mysql로 서버에 접속을 한다음 쿼리문장으로 처리



1.1 db유저 생성

1.1.1 db테이블에 proftp사용자 등록
db 테이블 구조
+-----------------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+---------------+------+-----+---------+-------+
| Host | char(60) | | PRI | | |
| Db | char(64) | | PRI | | |
| User | char(16) | | PRI | | |
| Select_priv | enum('N','Y') | | | N | |
| Insert_priv | enum('N','Y') | | | N | |
| Update_priv | enum('N','Y') | | | N | |
| Delete_priv | enum('N','Y') | | | N | |
| Create_priv | enum('N','Y') | | | N | |
| Drop_priv | enum('N','Y') | | | N | |
| Grant_priv | enum('N','Y') | | | N | |
| References_priv | enum('N','Y') | | | N | |
| Index_priv | enum('N','Y') | | | N | |
| Alter_priv | enum('N','Y') | | | N | |
| Create_tmp_table_priv | enum('N','Y') | | | N | |
| Lock_tables_priv | enum('N','Y') | | | N | |
+-----------------------+---------------+------+-----+---------+-------+

mysql> insert into db values('%', 'proftp', 'proftp', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');



1.1.2 user테이블에 proftp사용자의 권한 추가

user 테이블 구조
+-----------------------+-----------------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+-----------------------------------+------+-----+---------+-------+
| Host | varchar(60) | | PRI | | |
| User | varchar(16) | | PRI | | |
| Password | varchar(41) | | | | |
| Select_priv | enum('N','Y') | | | N | |
| Insert_priv | enum('N','Y') | | | N | |
| Update_priv | enum('N','Y') | | | N | |
| Delete_priv | enum('N','Y') | | | N | |
| Create_priv | enum('N','Y') | | | N | |
| Drop_priv | enum('N','Y') | | | N | |
| Reload_priv | enum('N','Y') | | | N | |
| Shutdown_priv | enum('N','Y') | | | N | |
| Process_priv | enum('N','Y') | | | N | |
| File_priv | enum('N','Y') | | | N | |
| Grant_priv | enum('N','Y') | | | N | |
| References_priv | enum('N','Y') | | | N | |
| Index_priv | enum('N','Y') | | | N | |
| Alter_priv | enum('N','Y') | | | N | |
| Show_db_priv | enum('N','Y') | | | N | |
| Super_priv | enum('N','Y') | | | N | |
| Create_tmp_table_priv | enum('N','Y') | | | N | |
| Lock_tables_priv | enum('N','Y') | | | N | |
| Execute_priv | enum('N','Y') | | | N | |
| Repl_slave_priv | enum('N','Y') | | | N | |
| Repl_client_priv | enum('N','Y') | | | N | |
| ssl_type | enum('','ANY','X509','SPECIFIED') | | | | |
| ssl_cipher | blob | | | | |
| x509_issuer | blob | | | | |
| x509_subject | blob | | | | |
| max_questions | int(11) unsigned | | | 0 | |
| max_updates | int(11) unsigned | | | 0 | |
| max_connections | int(11) unsigned | | | 0 | |
+-----------------------+-----------------------------------+------+-----+---------+-------+

mysql>INSERT INTO user VALUES('localhost','proftp',PASSWORD('비밀번호 '),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','','0','0','0');


mysql>INSERT INTO user VALUES('lnx68.thesoft.co.kr','proftp',PASSWORD(비밀번호 '),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','','0','0','0');


mysql>INSERT INTO user VALUES('%','proftp',PASSWORD('비밀번호 '),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','','0','0','0');


host 테이블 구조

+-----------------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+---------------+------+-----+---------+-------+
| Host | char(60) | | PRI | | |
| Db | char(64) | | PRI | | |
| Select_priv | enum('N','Y') | | | N | |
| Insert_priv | enum('N','Y') | | | N | |
| Update_priv | enum('N','Y') | | | N | |
| Delete_priv | enum('N','Y') | | | N | |
| Create_priv | enum('N','Y') | | | N | |
| Drop_priv | enum('N','Y') | | | N | |
| Grant_priv | enum('N','Y') | | | N | |
| References_priv | enum('N','Y') | | | N | |
| Index_priv | enum('N','Y') | | | N | |
| Alter_priv | enum('N','Y') | | | N | |
| Create_tmp_table_priv | enum('N','Y') | | | N | |
| Lock_tables_priv | enum('N','Y') | | | N | |
+-----------------------+---------------+------+-----+---------+-------+


mysql>INSERT INTO host VALUES('localhost','proftp','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
mysql>INSERT INTO host VALUES('lnx68.thesoft.co.kr','proftp','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');



1.1.3 proftp DB생성

mysql> create database proftp;

mysql> flush privileges;

DBMS/MySQL]var_디렉토리_용량_부족시에_데이터_디렉토리_이전


1. mysql을 잠시 내리고 db 파일(/var/db/mysql 디렉토리)을 여유공간으로 이동을 하고 예전 경로에 심볼릭

링크를 걸어준다. 



예시 ) 

새로운 하드 마운팅 네임 : /usr/local/db



기존 mysql 설치 디렉토리 : 프비에서 포트로 설치시 디폴트. 아님 /usr/local/mysql



mysql 데이터 디렉토리 : /var/db/mysql 



# /usr/local/etc/rc.d/mysql-server.sh stop   <-- mysql 데몬 shutdown



# mv /var/db/mysql /usr/local/db/               <-- /var/db/mysql 디렉토리를 /usr/local/db/

밑으로 이동



# chown -R mysql:mysql /usr/local/db           <-- 소유권을 mysql:mysql로 수정

  (리눅스에서는 chown -R mysql.mysql /usr/local/db 이렇게(???) 할 것임)



# ln -s /usr/local/db/mysql /var/db/mysql       <-- 심볼릭 링크 검



# /usr/local/etc/rc.d/mysql-server.sh start     <-- 재기동

2012-09-16

Linux]suse linux qmail 설치하기


 SuSE Linux 9.2 Professional 상에서 qmail+mysql+vpopmail+qmailadmin+qmail-scanner+spamassassin+courier-imap+squirrelmail 설치하기


 목적 :

   1. 사용자 계정을 mysql 을 이용함으로써 추가나 삭제를 할수 있다.
   2. vpopmail 을 설치함으로써 가상 도메인에 대한 관리를 손쉽게 할수 있다.
   3. qmail-scanner 을 설치함으로써 바이러스에 대한 필터링을 한다.
   4. squirrelmail로 웹상에서 메일을 사용할 수 있게 한다.
   5. qmailadmin으로 웹상에서 메일계정을 쉽게 관리할 수 있게 한다.
   6. qmailMrtg로 웹상에서 메일서버의 트래픽을 쉽게 관찰할 수 있게 한다.


 아래의 파일은 2005.05.09 현재 최신 버전을 다운 받은 리스트이며, 위와 같은 조합의 메일 시스템을 구축하기 위한 모듈들입니다.



 qmail 관련

   http://qmail.kldp.org/src       : qmail-1.03,
   http://inter7.com               : vpopmail, qmailadmin, autoresponder
   http://www.ezmlm.org/           : ezmlm, ezmlm-idx
   http://qmail.org/netqmail/      : netqmail 패치
   autorespond-2.0.4.tar.gz        // 자동응답담당하는 모듈
   daemontools-0.76.tar.gz         // qmail 자동화 관리툴
   ezmlm-0.53.tar.gz               // qmail 지원하는 메일링리스트
   ezmlm-idx-0.440.tar.gz          //            
   maildrop-1.8.0.tar.bz2          // qmail-scanner에 연동되는 모듈
   netqmail-1.05.tar.gz            // qmail 패치
   qmail-1.03.tar.gz              
   qmailadmin-1.2.7.tar.gz         // 웹상에서 메일계정관리
   ucspi-tcp-0.88.tar.gz
   vpopmail-5.4.2.tar.gz           // 가상 메일지원모듈
   qmailmrtg7-4.2.tar.gz           // qmail 트래픽 모니터링
   qmail-scanner-1.25.tgz          // qmail-scanner (바이러스 필터링)
   Mail-SpamAssassin-3.0.3.tar.gz  // spamAssassin         http://spamassassin.apache.org
   Time-HiRes-1.67.tar.gz          // qmail-scanner설치시 필요
   clamav-0.84.tar.gz              // qmail-scanner 애드온
 
  mysql
   mysql-4.x.x.tar.gz              // http://www.mysql.com



  imapd
   (http://inter7.com/
        courier-imap-4.0.2.20050403.tar.bz2     // 웹메일을 지원하기 위한 모듈


  web

  httpd-2.0.54.tar.gz                     // http://www.apache.org
  php-5.0.4.tar.gz                        // http://www.php.net
  squirrelmail-1.4.4.tar.gz               // 웹메일 클라이언트    http://www.squirrelmail.org



 기타

  텍스트상에서 웹서핑하기 위한 도구
     lynx-2.8.5-26.i586.rpm          // http://www.rpmfind.net,  http://www.lynx.org

 

 패치
  qmail-1_03-mysql-0_6_6.patch
           -> 사용자 여부를 시스템 계정이 아닌 mysql 에서 하기 위한 패치.

  qmail-103.patch
           -> oversize dns 을 위한 패치

  checkpassword-0.81--mysql-0.6.6.patch
          -> pop3 사용시 사용자에 대한 패스워드 확인을  mysql 에서 하기 위한 패치. vpopmail 을 설치한다면 필요없습니다.

  qmailqueue-patch          
          -> qmail-scanner 를 위한 queue 패치입니다.

  qmail-smtp-auth.tar.gz
          -> 이것은 smtp 사용시 팝계정을 가진 사용자에 한해 smtp 를 사용하게 하자는 패치입니다. 좋더군요.

  relaymailfrom.patch
            -> 옵션으로 보내는 사람의 메일 주소로 smtp 릴레이를 막자는 패치입니다.



   패치가 많다고 해서 한번에 다 적용하려고 하지 말고. 하나씩 설치할때마다 필요한 패치를 그때 그때 적용하고 qmail 을 재 빌드하고 컴파일 하면 됩니다.
    ** 위의 netqmail을 이용해서 패치를 해도 됩니다.



 설치 순서



 * qmail 압축 풀기


 # tar -xvzf qmail-1.03.tar.gz
 # cd qmail-1.03


 * qmail 설치를 위한 디렉토리 생성

 # mkdir  /var/qmail


 * qmail 운영을 위한 유저, 그룹을 만들어 주기 위해 운영체제에 따라 INSTALL.ids를 편집한다. 리눅스상에서는 다음과 같다.
   INSTALL.ids 는 qmail-1.03 디렉토리에 존재한다.


   groupadd nofiles

   useradd -g nofiles -d /var/qmail/alias alias

   useradd -g nofiles -d /var/qmail qmaild

   useradd -g nofiles -d /var/qmail qmaill

   useradd -g nofiles -d /var/qmail qmailp

   groupadd qmail

   useradd -g qmail -d /var/qmail qmailq

   useradd -g qmail -d /var/qmail qmailr

   useradd -g qmail -d /var/qmail qmails



 * qmail과 부수적인 패키지 설치

2012-09-14

Linux] SuSELinux_qmail_install


SuSE Linux 9.2 Professional 상에서 qmail+mysql+vpopmail+qmailadmin+qmail-scanner+spamassassin+courier-imap+squirrelmail 설치하기



목적 :
1. 사용자 계정을 mysql 을 이용함으로써 추가나 삭제를 할수 있다.
2. vpopmail 을 설치함으로써 가상 도메인에 대한 관리를 손쉽게 할수 있다.
3. qmail-scanner 을 설치함으로써 바이러스에 대한 필터링을 한다.
4. squirrelmail로 웹상에서 메일을 사용할 수 있게 한다.
5. qmailadmin으로 웹상에서 메일계정을 쉽게 관리할 수 있게 한다.
6. qmailMrtg로 웹상에서 메일서버의 트래픽을 쉽게 관찰할 수 있게 한다.


아래의 파일은 2005.05.09 현재 최신 버전을 다운 받은 리스트이며, 위와 같은 조합의 메일 시스템을 구축하기 위한 모듈들입니다.


qmail 관련
http://qmail.kldp.org/src : qmail-1.03,
http://inter7.com : vpopmail, qmailadmin, autoresponder
http://www.ezmlm.org/ : ezmlm, ezmlm-idx
http://qmail.org/netqmail/ : netqmail 패치
autorespond-2.0.4.tar.gz // 자동응답담당하는 모듈
daemontools-0.76.tar.gz // qmail 자동화 관리툴
ezmlm-0.53.tar.gz // qmail 지원하는 메일링리스트
ezmlm-idx-0.440.tar.gz //
maildrop-1.8.0.tar.bz2 // qmail-scanner에 연동되는 모듈
netqmail-1.05.tar.gz // qmail 패치
qmail-1.03.tar.gz
qmailadmin-1.2.7.tar.gz // 웹상에서 메일계정관리
ucspi-tcp-0.88.tar.gz
vpopmail-5.4.2.tar.gz // 가상 메일지원모듈
qmailmrtg7-4.2.tar.gz // qmail 트래픽 모니터링
qmail-scanner-1.25.tgz // qmail-scanner (바이러스 필터링)
Mail-SpamAssassin-3.0.3.tar.gz // spamAssassin http://spamassassin.apache.org
Time-HiRes-1.67.tar.gz // qmail-scanner설치시 필요
clamav-0.84.tar.gz // qmail-scanner 애드온
mysql
mysql-4.x.x.tar.gz // http://www.mysql.com

imapd
(http://inter7.com/
courier-imap-4.0.2.20050403.tar.bz2 // 웹메일을 지원하기 위한 모듈

web
httpd-2.0.54.tar.gz // http://www.apache.org
php-5.0.4.tar.gz // http://www.php.net
squirrelmail-1.4.4.tar.gz // 웹메일 클라이언트 http://www.squirrelmail.org

기타
텍스트상에서 웹서핑하기 위한 도구
lynx-2.8.5-26.i586.rpm // http://www.rpmfind.net,  http://www.lynx.org



패치
qmail-1_03-mysql-0_6_6.patch
   -> 사용자 여부를 시스템 계정이 아닌 mysql 에서 하기 위한 패치.
qmail-103.patch
   -> oversize dns 을 위한 패치
checkpassword-0.81--mysql-0.6.6.patch
   -> pop3 사용시 사용자에 대한 패스워드 확인을  mysql 에서 하기 위한 패치. vpopmail 을 설치한다면 필요없습니다.
qmailqueue-patch          
   -> qmail-scanner 를 위한 queue 패치입니다.
qmail-smtp-auth.tar.gz
   -> 이것은 smtp 사용시 팝계정을 가진 사용자에 한해 smtp 를 사용하게 하자는 패치입니다. 좋더군요.
relaymailfrom.patch
   -> 옵션으로 보내는 사람의 메일 주소로 smtp 릴레이를 막자는 패치입니다.

패치가 많다고 해서 한번에 다 적용하려고 하지 말고. 하나씩 설치할때마다 필요한 패치를 그때 그때 적용하고 qmail 을 재 빌드하고 컴파일 하면 됩니다.
** 위의 netqmail을 이용해서 패치를 해도 됩니다.

설치 순서

* qmail 압축 풀기

# tar -xvzf qmail-1.03.tar.gz
# cd qmail-1.03

* qmail 설치를 위한 디렉토리 생성

# mkdir  /var/qmail

* qmail 운영을 위한 유저, 그룹을 만들어 주기 위해 운영체제에 따라 INSTALL.ids를 편집한다. 리눅스상에서는 다음과 같다.
  INSTALL.ids 는 qmail-1.03 디렉토리에 존재한다.

groupadd nofiles
useradd -g nofiles -d /var/qmail/alias alias
useradd -g nofiles -d /var/qmail qmaild
useradd -g nofiles -d /var/qmail qmaill
useradd -g nofiles -d /var/qmail qmailp
groupadd qmail
useradd -g qmail -d /var/qmail qmailq
useradd -g qmail -d /var/qmail qmailr
useradd -g qmail -d /var/qmail qmails

* qmail과 부수적인 패키지 설치