'2016/05'에 해당되는 글 2건

  1. 2016.05.30 vsftpd.conf 설정
  2. 2016.05.24 compile libzdb with oracle support
2016. 5. 30. 00:52

vsftpd 를 설치하면서 세팅한 내용들을 정리하고자 한다.


listen=YES
anonymous_enable=NO
local_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

listen_port=21

pasv_enable=YES
pasv_promiscuous=YES
pasv_min_port=12000
pasv_max_port=12100

write_enable=YES
local_umask=022
file_open_mode=0644

local_root=/haebinas/data

chroot_local_user=YES
allow_writeable_chroot=YES


pasv_ 관련 설정

FTP 서버가 동작하는 모드는 크게 Active 모드와 Passive 모드가 있다. 여기서는 Passive 모드로 동작 시킨다.


[Passive, Active 차이첨] - https://www.segger.com/embosip_ftp_client.html



pasv_ 관련 옵션

 pasv_enable 

 Passive 모드로 동작 

 pasv_promiscuous 

 ?

 pasv_min_port

 Passive 모드로 동작 시 데이터 전송에 사용할 포트 범위 최소값

 pasv_max_port

 Passive 모드로 동작 시 데이터 전송에 사용할 포트 범위 최대 값 


기본 21번 포트로 접속 후, 데이터 전송에 12000 ~ 12100 포트 범위를 사용하게 된다.

(방화벽에서 Input 규칙에 해당포트 오픈 해 주어야 한다)



write 관련 설정

 write_enable

 이 옵션이 설정되지 않으면 쓰기가 거부된다

 local_umask

 mask가 022 이므로, 777 - 022 = 755. 즉 기본 권한 설정

 file_open_mode

 업로드 시 적용될 파일의 권한



접근 제한, 기본폴더 관련

 local_root

 FTP 접속 시, / 경로에 지정할 폴더 이다. 

 chroot_local_user

 사용자 홈 폴더 위로 넘어가지 못하게 할 때 사용한다. 

 allow_writable_chroot

 chroot가 적용 된 상태에서 쓰기를 허용에 관한 세팅.





Posted by 해비
2016. 5. 24. 01:03

최근에 libzdb 를 사용하는 프로젝트를 진행하면서 언젠가 써먹을 데가 또 생길 것 같아 정리 한다.


DB는 oracle 지원에 관한 내용을 추가한다.


기본적으로 libzdb 컴파일 하는데 필요한 명령어는 단 3줄이면 끝난다.


[설치]

 # ./configure

 # make

 # make install

- 이대로 하면 일단 컴파일은 된다.



오라클DB를 사용할 경우, ./configure 목록에 ORACLE 이 ENABLE 되어 있어야 한다.


오라클 활성화를 위해 필요한 옵션 및 프로그램.

 # rpm -ivh oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
 # rpm -ivh oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm


1번째 줄이 instant client 이고, 2번째 줄이 include 항목들이다.

모두 설치 하자.



configure 설정 시 필요한 옵션설정

 --with-oci=no
 --with-oci-include=/usr/include/oracle/12.1/client64
 --with-oci-lib=/usr/lib/oracle/12.1/client64/lib


단 3줄 인데, 간단한 설명을 첨부 하자면...

1번째 줄의 옵션을 yes 로 주면 하단의 2줄은 무효가 되는 듯 하다. 즉 ORACLE_HOME 의 환경변수를 따라간다는 뭐 그런 내용인것 같은데...;;


1번째 울의 옵션을 no 로 주면 2, 3번째 줄에서 지정한 include 경로와 lib 경로를 따라 간다.

여기서는 직접 찾아서 정의해 주고 가는 것으로 한다.


저 경로는 직접 찾은 것이므로 사용하는 운영체제의 버젼에 따라 다를 수도 있다.

RedHat Linux에 rpm 설치 한 결과 이다.


컴파일 결과물 설치 경로는 --prefix=/home/user/compile 과 같이 설정 에 추가하면 된다.


전부 종합하면 아래와 같이 된다.

 # rpm -ivh oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
 # rpm -ivh oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm


 # ./configure --with-oci=no --with-oci-include=/usr/include/oracle/12.1/client64 --with-oci-lib=/usr/lib/oracle/12.1/client64/lib --prefix=/home/user/compile


 # make


 # make install

이렇게 정상적으로 모두 완료 되면 컴파일된 결과물이 /home/user/compile 로 들어가게 된다.




[참고]

README
./configure --help

http://docs.oracle.com/cd/B19306_01/server.102/b14357/ape.htm#CHDJCDFA




Posted by 해비