2015년 8월 7일 금요일
리눅스 서버 알아보기_07. FTP서버 셋팅
1. ftp 프로그램 설치 및 셋팅
순서
1) 설치(~rpm, 소스컴파일)
2) 서버구성파일 vi 에디터로 셋팅
3) 데몬 재시작
4) 권한 수정 / 디렉토리 생성
rpm : 압축, 묶음, 설치 한번에 진행이 가능
rpm -ivh ~~.rpm (인스톨)
rpm -Uvh ~~.rpm (설치 혹은 업그레이드)
rpm ~qa|grep ftp
(ftp 설치 확인)
rpm -e ~~~~
(프로그램 삭제)
proftpd-1.2.10-1.fcl.i386.rpm
다운로드
rpm -Uvh proftpd-1.2.10-1.fcl.i386.rpm
옵션2 rpm -Uvh --nodeps ~~.rpm
:
rpm -qa|grep ftp
해당 내용이 설치된걸 확인 가능
*proftpd : ftp 서버중 강력한 기능을 제공함
환경설정파일 : /etc/proftpd.conf
실행파일
>ls /etc/proftpd.conf (구성파일)
>ls /etc/init.d/proftpd (실행파일)
>ntsysv (서비스관리 툴에 proftpd가 등록되어 있음)
>vi /etc/proftpd.conf
~~~
ServerName "첫 접속시 인사말"
ServerType standalone(사용빈도가 높은건 이런 type으로 사용)
xinetd (사용빈도가 작은건 이 type으로 사용
DefaultServer
port
Umask 022 (777- 022 => 755 (디렉토리 생성시 생기는 권한)
파일은 -111 => 644 권한으로 생성된다.
MaxInstances (DOS 공격 대비 MAX 시도 제한 횟수)
~~~~~
User nobody
Group nogroup
이건 꼭 있어야 되는 부분
계정이나 그룹이 있어야 되고 no 는 다 뜨는 부분임
#DefaultRoot
AllowOverwrite on (웹 서버에서 사용자 요청에 의하여
파일 덮어쓰기를 허용할지 여부)
<Limit SITE_CHMOD>
DenyAll
</Limit>
<Anonymous /var/ftp> 익명 사용자계정은 /var/ftp에 잡혀있음(보통)
User ftp <나중에<
Group ftp <나중에
UserAlias ~~
anonymous 계정 설정
MaxClients 최대 접속자수
DisplayLogin 인삿말 파일 위치
DisplayFirstChdir .message
(디렉토리별 인사말 각각 설정 가능)
실습진행
>mkdir ftp
>cd ftp
>touch aaa.txt bbb.txt ccc.txt
>ls
~~
>cd /etc/initd.d
>ps -ef|grep proftp
~~ 아직 실행중이 아님
>cd /etc/init.d
>./proftpd start
~~fail (그룹이 없음)
>cat /etc/passwd/grep nobody
~~ 계정은 있는데, 그룹이 없다는 형태로 뜸
>groupadd nogroup
>cat /etc/group|grep nogroup
>./proftpd start
~~완료
>ps -ef|grep proftpd
~~프로세스 등록 완료
>>윈도우에서 접속 가능한지 확인
하지만 권한문제로 업로드는 불가능(다운로드는 가능)
(거부되었다 라는 메시지가 뜸)
이걸 설정하려면 설정값을 변경해서 작업 가능
재실행 방법 (2가지가 있음)
>./proftpd start (해당 폴더 가서 파일명 실행하는 방법)
or
>service proftpd restart (서비스 실행방법)
이번에는 설정 파일에 있는대로 welcome.msg
라는 파일에 인사말을 적으려고 함
막상 찾아보면 welcome.msg가 없음
이건 만들어서 작성하면 시작시 찾아보고
없으면 그대로 시작, 있으면 실행하게됨
/ver/ftp> cat >welcome.msg
---------------------------------------------
This is FTP Server
--------------------------------------------
업로드 사이트
설정파일에서 본 내용중에
...
<Limit WRITE>
DenyAll
</Limit>
.....
(1) Limit 뒤에는 몇가지 키워드가 올 수 있다.
READ - 다운로드만 가능
WRITE - MKD+STORE
MKD - 디렉토리만들기
STORE - 업로드
(2) AllowAll <-- 다 허락 가능하다는 의미
DenyAll <-- 다 거부한다는 의미
>service proftpd restart (안되면 설정파일 에러가 있는것)
근데 실행해보면 upload가 안됨
ls -al /var/ftp
디렉토리 권한
접속자는 ftp 계정으로 접속되는데
이는 일반 사용자계정과 같은 뜻이다.
=> 권한을 변경 혹은 파일 소유자를 바꾸는 방법으로
보안 단계를 조절할 수 있는데
권한 변경은 보안상 문제가 있다고 판단되어
파일 소유자를 바꾸기로 함
>chown ftp /var/ftp
(소유주를 바꾸는 명령)
>chgrp ftp /var/ftp
(그룹을 바뀌는 명령)
*사이트 루트는 쓰기 금지
download -> 다운로드 만 가능
upload -> 다운로드, 업로드
----------------------------아래 내용을 설정파일에 추가
<Directory upload>
<Limit WRITE >
AllowAll
</Limit>
<Limit READ>
AllowAll
</Limit>
</Directory>
<Directory download>
<Limit WRITE >
DenyAll
</Limit>
<Limit READ>
AllowAll
</Limit>
</Directory>
>chown ftp upload
>chown ftp download
/etc/ftpusers 파일에 지정된 사용자들은
FTP서버에 로그인이 안됨.
(root도 포함되어 있음)
현재 만든 사용자계정
babo, john, user1
/home/babo
john
user1
ftp localhost 일반사용자만 가능
/etc/proftpd.conf 익명부분을 삭제후
데몬재시작시
babo 계정 접속시 babo 해당 홈 디렉토리로 접속함
FTP 사용자지정
(1) 계정만들고
useradd babo
useradd john
useradd user1
(2) 익명 접속 불가하도록 설정 수정
vi /etc/proftpd.conf
.....
#<Anonymous ~ftp>
# User
# Group
MaxClients 50
...
DisplayLogin welcome.msg
DisplayFirstChdir .message
#</Anonymous>
...
이렇게 Anonymous 부분을 다 주석처리 진행
이러면 익명 허용을 차단하는 효과를 지님
(3) 쓰기권한 부여토록 설정 수정
<Limit WRITE>
AllowAll
</Limit>
<Limit READ>
AllowAll
</Limit>
위 권한을 추가해준다.
(4) 데몬 재시작
>service proftpd restart
FTP 구현시 주의 사항
(1) 일반사용자가 ftp 접속 후
cd.. 명령시 root 까지 올라갈수 있음
그걸 막자 (익명계정일 경우 문제 없음)
vi /etc/proftpd.conf
....
DefaultRoot ~ #이걸 주석 풀어줄 것
...
<Limit SITE_CHMOD> #이것도 DenyAll 설정
DenyAll
</Limit>
가상호스트 FTP서버 구현 -->VirtualHost
(1) vi /etc/proftpd.conf
#맨 하단으로 이동, 아래 내용을 추가
..........
<VirtualHost guest.hostion.co.kr> #or localhost
ServerName "Prot 2000 Anonymous FTP"
Port 2000
MaxClients 20
<Anonymous /var/ftp>
User ftp
Group ftp
UserAlias anonymous ftp
DisplayLogin welcome.msg
DisplayFirstChdir .message
<Limit WRITE READ>
AllowAll
</Limit>
</Anonymous>
</Virtualhost>
>vi /etc/hosts
.....
192.168.0.100 guest.hostion.co.kr #이부분 추가
wq:
>ping guest.hostion.co.kr (확인용)
~~~잘뜸
(2) 서비스 재시작
>service proftpd restart
(3) 접속
>ftp localhost guest.hosting.co.kr 2000
~~~
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기