>  기사  >  운영 및 유지보수  >  자신의 요구 사항을 충족하는 vsftp 서비스 구축을 위한 Linux 운영 및 유지 관리

자신의 요구 사항을 충족하는 vsftp 서비스 구축을 위한 Linux 운영 및 유지 관리

齐天大圣
齐天大圣원래의
2020-11-21 17:40:561695검색

서버에 vsftpd 소프트웨어를 설치하고 소프트웨어의 기본 구성 파일 /etc/vsftpd/vsftpd.conf를 이해한 후에는 원하는 ftp 서비스를 구축할 수 있습니다.

포트의 포트를 지정하세요.

익명 및 실제 사용자는 로그인이 금지됩니다

먼저 익명 사용자 로그인을 끄고 익명 사용자에게 검색 권한을 거부하세요.

anonymous_enable=NO

그렇다면 왜 실제 사용자는 로그인이 허용되지 않나요? 실제 사용자는 보다 안전한 SFTP를 사용하여 로그인할 수 있으므로 로그인하기 위해 FTP 프로토콜을 사용할 필요가 없습니다. 또한 ftp는 일반 텍스트 전송 프로토콜이기 때문에 계정 비밀번호를 가로채면 위험합니다.

실제 사용자의 로그인을 금지하는 방법은 무엇인가요? 가상 사용자를 구성하는 세 번째 단계는 /etc/pam.d/vsftpd 아래의 모든 내용을 주석 처리하여 설명합니다.

Active 연결 및 Passive 연결 설정

Active 연결 모드와 Passive 연결을 모두 지원하는 시스템을 구축하고자 하므로 설정은 다음과 같습니다.

Active 연결 모드에 대한 포트 설정

connect_from_port_20=YES

Set up 방화벽을 해제하고 포트 21을 연결합니다. 포트 20을 열 필요가 없습니다. 호스트가 적극적으로 요청하고 응답하는 데이터 패킷은 머신에 직접 들어갈 수 있습니다(설정/관련).

iptables -A INPUT -p tcp --dport 21 -j ACCEPT # FTP服务
iptables -A INPUT  -m state --state ESTABLISHED,RELATED -j ACCEPT
패시브 모드를 활성화하고 패시브 연결 포트는 10001~11000 중 하나로 제한됩니다.
pasv_enable=YES
pasv_min_port=10001
pasv_max_port=11000
10000~11000 사이의 포트가 열릴 수 있도록 방화벽을 설정하세요.

iptables -A INPUT -p tcp --dport 10001::11000 -j ACCEPT # ftp被动连接端口

가상 사용자 구성


가상 사용자를 구성하는 단계는 다음과 같습니다.

가상 사용자 비밀번호 파일 생성가상 사용자 비밀번호 인증 파일 생성

vsftpd 파일의 PAM 인증 편집
  1. 로컬 매핑 디렉터리 생성 및 호스트 디렉터리 권한 설정
  2. 구성 파일을 수정합니다.
  3. 가상 사용자별로 별도의 구성 파일 가져오기
  4. 1. 가상 사용자용 비밀번호 파일을 만듭니다
  5. 파일 형식은 홀수는 사용자 이름이고 짝수는 비밀번호입니다. 다음 내용으로 아래 /etc/vsftpd/vusers와 같은 파일을 만듭니다:

    ftptest1
    111111
    ftptest2
    222222

  6. 2. 가상 사용자 비밀번호 인증 파일
  7. 을 생성하고 다음 명령을 실행합니다.

    db_load -T -t hash -f  /etc/vsftpd/vusers  /etc/vsftpd/login.db

    명령이 올바르게 실행되면 /etc/ vsftpd에 /login.db 파일이 나타납니다. 보안상의 이유로 이 파일의 권한을 600으로 설정했습니다.
  8. chmod 600 login.db

3. 가상 사용자에게 필요한 PAM 구성 파일을 편집합니다

vim /etc/pam.d/vsftpd

이전 내용을 모두 주석 처리하고 두 줄을 새로 추가합니다

auth    required    /lib64/security/pam_userdb.so  db=/etc/vsftpd/login 
account   required    /lib64/security/pam_userdb.so  db=/etc/vsftpd/login
32비트인 경우 lib 뒤의 64를 제거하고 로그인 후 접미사를 추가할 필요가 없습니다. 이 작업 후에는 엔터티 사용자가 FTP 서비스에 로그인할 수 없습니다.

4. 로컬 매핑 디렉터리를 생성하고 호스트 디렉터리 권한을 설정합니다.

가상 사용자의 호스트 사용자를 생성합니다

# useradd -d /home/vsftp -s /sbin/nologin ftpuser

디렉터리 권한을 755

# chmod 755 /home/vsftp/

5로 수정합니다.5.

/etc/vsftpd/vsftpd.conf 구성 파일에 다음 구성 정보 줄을 작성합니다.

# 开启虚拟用户登陆功能
guest_enable=YES

# 将虚拟用户与宿主用户对应
guest_username=ftpuser

# pam认证文件(该配置默认存在)
pam_service_name=vsftpd

# vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了,所以要加入下面配置
allow_writeable_chroot=YES

6. 각 가상 사용자에 대해 별도의 구성 파일을 만듭니다.

가상 사용자별로 별도의 구성 파일을 생성하려면 기본 구성 파일에

user_config_dir=/etc/vsftpd/config
를 추가하여 가상 사용자의 구성 파일 경로를 지정해야 합니다. 다음으로, 두 명의 가상 사용자를 위한 자체 구성 파일을 생성합니다:
# ftptest1虚拟用户的配置文件

# 创建虚拟用户家目录
# mkdir /home/vsftp/ftptest1
# chown ftpuser:ftpuser /home/vsftp/ftptest1/

# 建立配置文件
# mkdir /etc/vsftpd/config 
# vim /etc/vsftpd/config/ftptest1  <=== 虚拟用户各自配置文件和自己的用户名对应起来

# 指定家目录
local_root=/home/vsftp/ftptest1
# 允许相关权限
download_enable=yes
anon_upload_enable=yes
anon_other_write_enable=YES
anon_mkdir_write_enable=yes
anon_world_readable_only=no
# 设置最大传输速度,单位b/s
anon_max_rate=100000

참고: 현재 ftptest2 가상 사용자를 위한 별도의 구성 파일이 없으므로 이 사용자에 대해서는 기본 구성 파일(/etc/vsftpd/vsftpd)의 구성을 사용하십시오. .conf)

더 많은 관련 기술 기사를 보려면

linux 시스템 튜토리얼 칼럼을 방문하세요!

위 내용은 자신의 요구 사항을 충족하는 vsftp 서비스 구축을 위한 Linux 운영 및 유지 관리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.