본문 바로가기
Study/기타

[리눅스] FTP 서버 설정

by 나아가는 2023. 11. 8.
반응형

0. FTP 설치

yum list ftp
yum install -y ftp

1. 그룹, 사용자 생성

  • 그룹 지정 안하고 사용자 생성하면 사용자 이름과 같은 그룹 자동으로 생성됨
# 그룹생성
groupadd -g 2000 ftpgr
groupdel ftpgr
cat /etc/group

# 사용자 생성
useradd -g 2000 -u 2001 ftpur
cat /etc/passwd
passwd [사용자 계정]

2. FTP 설정

#ftp 설정
vi /etc/vsftpd/vsftpd.conf
[수정]
anonymous_enable=NO
# YES: 지정사용자만 chroot 적용하지 않음, NO: 지정사용자만적용
chroot_local_user=YES
chroot_list_enable=YES
[추가]
allow_writeable_chroot=YES  # 업로드 가능하게 설정
userlist_enable=YES
userlist_deny=NO

[수정] # standalone 으로 설정 -> 둘다 YES 면 오류
listen=YES
listen_ipv6 = NO

3. chroot 설정

# chroot 설정할때 mount 
mount --bind /var/ftp/ /home/ftpur/

# chroot 지정할 사용자
/etc/vsftpd/chroot_list

# 사용자 제한 설정
vi /etc/vsftpd/user_list
[추가]
접속 허용할 계정

chroot 설정에 따른 결과

chroot 지정시 FTP 서버에서 본인의 home 디렉토리가 root 디렉토리로 지정된다.

따라서 FTP서버에서 본인의 home 디렉토리 상위의 다른 자원에 접근하지 못한다. 

# chroot 미지정
ftp> pwd
257 "/home/ftpur"

# chroop 지정
ftp> pwd
257 "/"

4. ftp 서버 시작

#  enable : 부팅시 자동으로 켜지게 하는 설정
systemctl enable vsftpd
systemctl start vsftpd

발생 가능한 에러 (1)

systemctl start vsftpd
>run two copies of vsftpd for IPv4 and IPv6
# 설정 수정
vi /etc/vsftpd/vsftpd.conf
[수정] -> 둘다 YES면 오류
listen = YES
listen_ipv6 = NO

# 다시 ftp 서버 시작
# 다른 서버에서 접속
ftp 192.168.10.135

 

 

발생 가능한 에러 (2)

vsftpd에 대한 vsftpd을 시작 중: 500 OOPS: bad bool value in config file for: listen

→ vsftpd.conf 설정시 공백이 들어가면 발생하는 에러

5. 접속 예외 host 지정

# 192.168.10.~ 접속 차단
vi /etc/hosts.deny
[추가]
vsftpd : 192.168.10.

# 192.168.10.133 접속 허용
vi /etc/hosts.allow
[추가]
vsftpd : 192.168.10.133

결과 화면

접속 차단했을 때

접속 허용했을 때

6. FTP 서버 접속 제한 설정 방법 두 가지

→ 둘 중에 하나만 사용하기

  • 하나는 ftp 내부 기능이고 다른 하나는 서버에 대해서 접속 차단해주는 외부 모듈이라 동작하는 방식이 다르다.

첫 번째 user_list

  • userlist_enble = NO : 해당 기능 사용하지 않겠다
  • userlist_enble = YES : 해당 기능 사용하겠다
    • userlist_deny = NO : user_list 파일에 등록된 사용자는 접속 가능
    • userlist_deny = YES : user_list 파일에 등록된 사용자는 접속 불허
      • → 아이디만 입력했을 때도 접속 차단

두 번째 ftpusers

  • /etc/pam.d/vsftpd 파일 설정
    • sence=deny : ftpusers에 등록된 계정은 접속 불허
      • → 비밀번호까지 입력해야 접속 차단
    • sence=allow : ftpusers에 등록된 계정은 접속 허용
  • /etc/vsftpd/ftpusers
    • 계정 추가
반응형

'Study > 기타' 카테고리의 다른 글

[네트워크] 이더넷과 CSMA/CD  (1) 2023.11.13
[리눅스] DNS 서버 설정  (0) 2023.11.08
[CSS]CSS의 display 속성  (0) 2023.10.18
[Git] 필수 명령어  (0) 2023.09.13
[Git] 기본 정리  (0) 2023.09.13