Pure-FTPd + 가상 사용자로 FTP 서버를 설치하고 구성하는 방법

저는 혁신하고 새로운 것을 배우는 것을 좋아하는 사람 중 한 명입니다. 얼마 전 FTP 서버를 설치하고 구성해야했고 평소와는 다르게하기로 결정했습니다.

이 경우에는 가상 사용자, 암호화 된 파일 (사용자, 암호, 설정 등)에 저장 될 사용자가있는 FTP 서비스를 선택했습니다. 순수 FTPd.

여기에서 어떻게하는지 보여 드릴게요 ... 음, 시작합시다 😉

우선,이 튜토리얼의 명령이 데비안과 같은 배포판을위한 것이거나이를 기반으로한다는 것을 지정하십시오. 그러나 누군가 서버에서 다른 배포판을 사용하는 경우 동일한 패키지를 설치하고 아래에 설정된 설정을 사용해야합니다. 설치 명령입니다.

그들이 읽을 모든 명령은 루트로 실행됩니다. 원한다면 "sudo"를 각 줄에 추가 할 수 있습니다.

1. 먼저 Pure FTPd를 설치해야합니다.

apt-get install pure-ftpd

다음과 같이 출력이 종료됩니다.

순수 ftpd 설치

2. 서비스는 이미 활성화되어 있지만 제대로 구성하지 않으면 쓸모가 없습니다. 광범위한 구성 파일을 넣어 보지만 거의 표준에 가깝고, 정상을 포함하고 있으며, 익명 사용자가 허용되지 않도록 설정하는 등입니다.

cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd.conf

3. FTP 폴더가 / var / www / ftp /이고 / var / www / ftp / sysadmin / 폴더에 정보를 업로드 할 수있는 사용자를 만들고 싶다고 가정하고 다음을 터미널에 넣습니다.

pure-pw useradd sysadmin -u 2001 -g 2001 -d /var/www/ftp/sysadmin/

이는 다음을 의미합니다.

pure-pw : Pure-FTPd 사용자를 조작하는 데 사용되는 명령
useradd : 사용자를 추가 할 것임을 나타냅니다.
sysadmin : 만들려는 사용자
-u 2001 : 해당 사용자의 사용자 ID
-g 2001 : 해당 사용자의 GroupID
-d / var / www / ftp / sysadmin / : 해당 사용자의 홈이 될 폴더, 즉 항목을 업로드 할 폴더

이전 줄을 입력 할 때 해당 사용자의 암호를 묻습니다.

이전에 / var / www / ftp / 안에 sysadmin 폴더를 생성 했어야합니다.

4. 이제 사용자 데이터베이스 파일을 새로 고쳐야합니다.이를 위해 / etc / pure-ftpd / (cd / etc / pure-ftpd) 폴더를 입력하고 터미널에 넣습니다.

pure-pw mkdb

5. 이제 Pure-FTPd를 시작해야하지만 가상 사용자 파일을 사용할 것임을 표시하고 먼저 서비스를 중지하겠습니다.

/etc/init.d/pure-ftpd stop

그런 다음 기본적으로 정상적으로 시작되지 않는지 확인합니다.

chmod -x /etc/init.d/pure-ftpd

이제 우리는 우리 방식대로 서비스를 시작합니다.

/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb

6. Filezilla와 같은 응용 프로그램을 사용하려고하면 생성 된 사용자와 문제없이 연결할 수 있지만 아무것도 복사하거나 디렉토리를 생성 할 수 없습니다. 이는 / var / www / ftp / sysadmin / 폴더 (사용자의 홈 예에 따라) 적절한 권한이없는 경우 다음과 같이 수정됩니다.

chown -R 2001:2001 /var/www/ftp/sysadmin/

Uid 및 Gid 2001은 우리가 만든 사용자 중 하나이며 이전 3 단계의 명령으로 만들었습니다 😉

7. 서비스를 중지하려면 동일한 터미널에서 [Ctrl] + [C]를 누르거나 다음을 수행하십시오.

killall pure-ftpd

이제 서버가 시작될 때 서비스가 시스템과 함께 자동으로 시작됨을 표시합니다.이를 위해 /etc/rc.local 파일을 수정하고 "exit 0"이라는 마지막 줄 앞에 FTP 서비스를 시작할 명령을 입력합니다.

/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb

즉, 다음과 같습니다.

rc-로컬-순수-ftpd

nano, vi 또는 선호하는 편집기를 사용하여 파일을 편집하거나 원하는 경우이 명령을 복사하여 붙여 넣어 작업을 더 쉽게 할 수 있습니다.

perl -pi -e "s[exit 0][/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb]g" /etc/rc.local && echo "exit 0" >> /etc/rc.local

... 예 예 ... 읽은대로«촉진», 광범위한 명령 예,하지만 단순히 텍스트를 펄 및 무해한 에코로 바꾸는 것입니다 🙂

8. 이 작업이 완료되면 서버를 다시 시작하면 pure-ftpd 서비스가 시작되고 작동 할 준비가 된 것을 볼 수 있습니다 😀

사용자를 삭제하는 방법?

전에 말했듯이 명령은 순수 -pw 사용자를 조작하고 사용자 (예 : sysadmin)를 삭제하려면 다음을 입력합니다.

cd /etc/pure-ftpd/
pure-pw userdel sysadmin
pure-pw mkdb

사용자를 변경할 때마다 사용자의 가상 데이터베이스 파일을 재생성해야합니다. 파일은 / etc / pure-ftpd /에 있으며 pure-pw mkdb로 생성 / 업데이트됩니다.

어쨌든 친구들은 추가 할 것이 많지 않다고 생각합니다. 여기서 보여 드린 것보다 훨씬 많은 것을 허용하기 때문에 pure-pw의 도움을 읽어 보도록 권합니다 (이것은 짧고 거의 기본적인 튜토리얼입니다).

XNUMX ~ XNUMX 년 전 저는 모든 것을 OpenLDAP 또는 MySQL에 연결 한 사람 중 한 명이었습니다.하지만 시간이 지남에 따라 서버 인 데이터베이스에 대한 연결이 너무 많아서 우리가 감당할 수없는 소비가 발생한다는 것을 깨달았습니다. 이러한 이유로 Pure-FTPd .pdb의 경우와 같이 애플리케이션 자체 파일에서 데이터베이스를 사용하는 것과 같은 완전히 실행 가능한 대안을 사용합니다.

의심이나 질문이 있으면 최대한 도와 드리겠습니다.

안녕하세요. 해피 해킹!


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   엘라 브

    그 .. 오류 발생시 문서 😀

    1.    KZKG ^ 가아라

      그리고 저는 Justice에서했던 것처럼 Nginx + MySQL + Spawn_FastCGI를 설치하는 방법에 대한 게시물을 이미 작성 중이며, 그 덕분에 블로그가 잘 작동합니다. :)

      내일이나 모레를 준비하고 싶습니다.

  2.   Rodolfo

    좋은 게시물; 최근에 나는 vsftpd로도 할 수 없었던 내 ftp 서버를 배치하기 위해 고군분투하고 있었고 pure-ftpd로 가서 내가 누락되었다고 생각되면 문서가 매우 훌륭하지만 최소한 기본은 명확한 conf의 예를 넣는 것입니다. . 암호화, 또는 라우터가 사용되는 경우 최소한 forwading 포트.
    그건 그렇고, pure-ftpwho 명령을 사용하면 누가 서버에 연결되어 있는지, 어떤 것이 다운로드되고 있는지 알 수 있습니다.).
    그리고 당신에 따르면 서버에 연결하기 위해 데이터베이스를 넣는 것은 그렇게 필요하지 않습니다.

    1.    KZKG ^ 가아라

      댓글 주셔서 감사합니다 🙂

      예, 실제로 구성에서 많은 것을 설명하지 않았습니다. 서버 관리 방법을 아는 사람, FTP 서비스를 설치하려는 사람, conf 파일의 주석을 읽는 데 큰 문제가 없을 것이라고 가정했습니다. ^-^

      인사하고 다시 한 번 댓글 주셔서 감사합니다.

  3.   타후리

    안녕하세요 아주 좋은 게시물입니다. vsftpd를 사용하고 있지만 (적어도 지금은) 몇 가지 문제가 있습니다.이 문제가 발생했는지 확인하고 싶었습니다. 구성이 어떻게되는지 확인할 수있는 URL이나 문서가 있습니까?

    감사합니다};)

    1.    KZKG ^ 가아라

      여기에서 구성을 볼 수 있습니다. http://ftp.desdelinux.net/pure-ftpd.conf
      질문이 있거나 필요한 것이 있으면 포럼에서 스레드를 열어 기꺼이 도와 드리겠습니다 🙂

  4.   아테이 우스

    아주 좋아요 😀

    한 가지 작은 점은 perl 명령에 ^ 기호가 없기 때문에 주석에있는 다른 출구 0을 변경하지 않습니다.

    perl -pi -e "s[^exit 0][/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb]g" rc.local && echo "exit 0" >> rc.local

    안부

  5.   오마르

    좋아요. 질문이 있습니다. 읽기 전용 사용자를 만들려면 어떻게해야합니까? Centos 6.5, pureftpd, ispconfig 및 그래픽 모드를 사용합니다.

    ftp에만 ispconfig를 사용합니다.

    인사와 감사

  6.   우기

    pureftp를 설치하는이 방법은 ASCO입니다. 서비스를 루트로 실행하고 가상 사용자를 만든 다음 파일 시스템에 대한 권한을 변경하고 오래 걸리는 등의 작업을 수행합니다. 패키지가 설치되는 방식은 바로 사용할 수 있으므로이 모든 단계를 수행 할 필요가 없습니다.

    1.    엘라 브

      덜 "혐오스러운"가이드를 게시하도록 초대 받았습니다. .. 😉

    2.    Sedlav

      당신은 무엇을 제안합니까? 포트> 1024에서 수신하도록 ftp 서버를 배치 하시겠습니까? ftp 서버가 표준 포트에서 수신 대기하는 경우 : 22 커널 기능을 수정하지 않는 한 루트로 실행해야합니다. 보안을 개선하려면 SELinux와 함께 MAC 프레임 워크를 사용하십시오. 또 다른 변형은 서버를 jail / chroot하는 것입니다. ftp.

  7.   Ll 재단사

    pure-ftpd.conf에 대한 링크가 다운되었거나 존재하지 않습니다. 복원 할 수 있습니까?
    감사합니다

  8.   첨부 파일

    2 년 후에도 pure-ftpd.conf 파일에 대한 링크는 여전히 다운되었습니다 🙁