반응형


출처 : http://blog.naver.com/PostView.nhn?blogId=haengro&logNo=40138067356



프로젝트를 진행하며 문서를 공유하기위해 파일서버를 찾다가 CentOS가 설치되어있는 서버에 FTP서버를 설치하기로 결정


인터넷을 검색해가며 해보니 그리 어렵진 않았지만 나중을 위해 정리해보기로 한다.


1. vsftpd 설치 : Linux에서 사용하는 FTP서버데몬

설치명령은 아래와 같다. (별도로 관련파일 복사없이 그냥 명령어만 치니까 설치가 되더라.

참고로 홈페이지는 https://security.appspot.com/vsftpd.html )

# yum install vsftpd


2. 환경파일 설정

# vi /etc/vsftpd/vsftpd.conf

anoymous_enable=NO //익명으로 접속시 NO

pasv_enable=YES //엑티브모드로 사용할 시 NO


vsftp passive mode 설정하는 방법입니다.

# vi /etc/sysconfig/iptables-config

위 파일을 열고 3번째 라인을 보면

IPTABLES_MODULES="ip_conntrack_netbios_ns"


라고 있는 부분을

IPTABLES_MODULES="ip_conntrack_netbios_ns ip_conntrack_ftp"


라고 추가해 줍니다.

그리고 vsftp서버를 재시작 합니다.

# service iptables restart


3. FTP용 계정생성

# user add 계정명

# passwd 계정명


4. 방화벽 설정 : iptables에 20, 21번 포트를 등록해준다.

# vi /etc/sysconfig/iptables


////////////////아래의 내용 추가

-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT


//iptable재기동

# service iptables restart


5. FTP서버기동

# service vsftpd start (종료 : stop, 재기동 : restart)


부팅시 FTP자동실행 설정

chkconfig --level 2345 vsftpd on


7. 프로세스 확인 및 포트확인

# ps -ef | grep vsftpd

# netstat -ntlp


참조 : http://blog.naver.com/newkyh00?Redirect=Log&logNo=30111155337


======= 기타 오류 및 정보확인

1. 500 OOPS: could not open chroot() list file:/etc/vsftpd/chroot_list

참조 : http://uiandwe.tistory.com/160

vi /etc/vsftpd/chroot_list
FTP 로그인할 계정을 등록


2. ftp: connect: No route to host

참조 : http://vstu77.blog.me/120050132415

리눅스에서 ftp를 사용할 때에 ftp: connect: No route to host

라는 메시지가 나올 때가 있다.

이럴 경우에는 host server 의 iptable을 살펴 보아야 한다.

사용 하지 않을 거면 iptables 를 stop 한다

#/etc/init.d/iptables stop

그 후

500 OOPS : cannot change directory:/root

500 OOPS : child died

라고 나오는 경우 아래와 같이 입력한다.

# setsebool -P ftp_home_dir=1


3. vsftp에서 500 OOPS: cannot change directory 오류가 나올 때

참조 : http://opencode.co.kr/bbs/board.php?bo_table=linux_tips&wr_id=27

/etc/vsftpd/vsftp.conf를 수정했는데도 불구하고 500 애러가 나오면서 접속이 안될때는
SELinux 때문이라고 합니다.

# setsebool -P ftp_home_dir=1

이렇게 하면, ftp directory에 대한 접근을 허가 하게된다.
"-P"는 Rebooting 될더라도 값을 저장하여,
정상적으로 동작 하도록 한다.


vsftpd(vsftp 데몬)의 상태를 보기
service vsftpd status

iptables(방화벽)의 상태를 보기
service iptables status


4. FTP 접속시 530 Permisiion Denied 발생


/etc/vsftpd/vsftpd.conf 파일 하단에

userlist_enables=YES 를 NO로 바꾸거나


아래의 파일 내부 계정들을 주석처리(#) 하면 된다.

아래의 파일 리스트에 계정이 있으면 FTP 접속이 불가하며 530 퍼미션 거부를 당하게 된다.

/etc/vsftpd/user_list    (해당 리스트 계정들은 계정 비번 조차 확인 안하고 거부됨)

/etc/ftpusers              (해당 리스트 계정들은 비번을 맞게 쳐도 거부됨)


/etc/vsftpd/user_list 내부에 userlist_deny 부분을 재조정 해도 된다.



5. OOPS: cannot change directory:/home/ueco

-> # setsebool -P ftp_home_dir=1 명령으로 해결


6. OOPS: could not read chroot() list file:/home/ueco

-> vsftp.conf설정에서 chroot관련 설정을 모두 주석처리함


7. OOPS: 500 OOPS: child died

디렉터리 목록을 획득할 수 없습니다.

Entering Passive Mode (10,250,114,243,21,35).

->컴퓨터의 FTP툴에서 Passive 모드를 비활성화해서 접속함



8. 533 could not create file

업로드 시 발생. 업로드 하려는 해당 디렉토리의 소유권과 관련된 에러임.

ftp 클라이언트 측에서 접속한 ID와 접속한 디렉토리의 소유자 및 소유 그룹이 다를 경우 발생하기도 한다.

chown 소유자 경로

chgrp 소유그룹 경로


를 해도 안되면 SELINUX 기능을 정지시켜 버리면 된다.

/etc/selinux/config 파일에서 SELINUX=disabled 수정 뒤 재부팅


-------------------------------------------------------------------------------


1. vsftpd.conf 파일의 정보

참조 : http://kch1183.blog.me/50099324984



2. CentOS. FTP 총정리

참조 : http://blog.naver.com/newkyh00?Redirect=Log&logNo=30111155337




반응형

'OS > CentOS' 카테고리의 다른 글

Centos 네트워크 관련 설정 방법  (0) 2013.08.13
반응형

Centos 설치 후 yum update 부터 실시

#yum update

 

외부 접속을 위해 ssh와 telnet 설치

 

1. ssh 설치

 

1-1. 설치 리스트 확인 (64비트의 경우는 뒤에 .x86_64가 붙음)

# yum list | grep openssh

 

1-2. ssh 설치 (yum 에서 -y 옵션은 무조건 yes)

# yum -y install openssh*

 

1-3. 정상 설치되었는지 확인 (뒤에 @가 붙으면 설치된 것)

# yum list | grep openssh

openssh.x86_64                       5.3p1-84.1.el6            @base/$releasever
openssh-askpass.x86_64          5.3p1-84.1.el6            @base/$releasever
openssh-clients.x86_64             5.3p1-84.1.el6            @base/$releasever
openssh-server.x86_64              5.3p1-84.1.el6            @base/$releasever

 

1-4. sshd (뒤에 d가 붙으면 데몬) 시작

# service sshd start

 

1-5. 리부팅시 데몬 자동 재시작할 수 있도록 설정

# chkconfig --level 345 sshd on

# chkconfig --list | grep sshd => 정상적으로 설정되었는지 확인.

 

 

2. telnet 설치

 

1-1. 설치 리스트 확인

# yum list | grep telnet

 

1-2. telnet 설치

# yum -y install telnet*

 

1-3. 정상 설치되었는지 확인

# yum list | grep telnet

telnet.x86_64                        1:0.17-47.el6_3.1         @base
telnet-server.x86_64              1:0.17-47.el6_3.1         @base

 

# rpm -qa | grep telnet

telnet-0.17-47.el6_3.1.x86_64
telnet-server-0.17-47.el6_3.1.x86_64

 

1-4. telnet 서비스 설정 (disable을 no로 설정)

# vi /etc/xinetd.d/telnet

 

service telnet
{

      disable        = no
        flags               = REUSE
        socket_type     = stream
        wait                = no
        user               = root
        server             = /usr/sbin/in.telnetd
        log_on_failure  += USERID
}

 

1.5 telnet 서비스 재시작

# service xinetd restart

 

1.6 telnet root 접속 가능하도록 설정 pts/1, pts/2 추가.

# vi /etc/securetty

..

pts/1

pts/2

 

1.7 telnet 접속시 안내문구 수정

# vi /etc/motd

 

------------------------------------------------------------------------------------------------

HostName 변경

 

1. /etc/hosts

127.0.0.1        localhost.localdomain localhost

::1                 localhost6.localdomain6  localhost6

[설정 IP]        [설정하고자 하는 HostName]

127.0.0.1         [설정하고자 하는 HostName]

 

2. /etc/sysconfig/network

NETWORK=yes

NETWORKING_IPV6=no

HOSTNAME=[설정하고자 하는 HostName]

 

3. /etc/resolv.conf => DNS 서버 주소

nameserver 8.8.8.8 [구글 무료 DNS]

 

4. /proc/sys/kernel/hostname (굳이 안해줘도 1,2 번 하고 재부팅하면 자동으로 바껴있음)

[설정하고자 하는 HostName]

 

service network restart

reboot


hostname

ifconfig 로 확인

 

 

 

반응형

'OS > CentOS' 카테고리의 다른 글

CENTOS vsftpd 설정  (2) 2013.12.02

+ Recent posts