저는 혁신하고 새로운 것을 배우는 것을 좋아하는 사람 중 한 명입니다. 얼마 전 FTP 서버를 설치하고 구성해야했고 평소와는 다르게하기로 결정했습니다.
이 경우 저는 가상 사용자 기능을 갖춘 FTP 서비스를 선택했습니다. 사용자 정보(사용자 이름, 비밀번호, 설정 등)는 암호화된 파일에 저장되며, 모든 작업은 Pure FTPd를 통해 진행됩니다.
여기서는 그 방법을 보여드리겠습니다… 음, 시작해 보겠습니다
우선,이 튜토리얼의 명령이 데비안과 같은 배포판을위한 것이거나이를 기반으로한다는 것을 지정하십시오. 그러나 누군가 서버에서 다른 배포판을 사용하는 경우 동일한 패키지를 설치하고 아래에 설정된 설정을 사용해야합니다. 설치 명령입니다.
1. 먼저 Pure FTPd를 설치해야 합니다.
apt-get install pure-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 / : 해당 사용자의 홈이 될 폴더, 즉 항목을 업로드 할 폴더
이전 줄을 입력 할 때 해당 사용자의 암호를 묻습니다.
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
즉, 다음과 같습니다.
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
...예 예... "facilitate"라고 읽으신 것처럼 이는 광범위한 명령입니다. 예, 하지만 이는 단순히 텍스트를 perl과 무해한 에코로 바꾸는 것입니다
8. 이 작업이 완료되면 서버를 재시작하십시오. 그러면 pure-ftpd 서비스가 시작되어 실행 준비가 완료된 것을 확인할 수 있습니다.
사용자를 삭제하는 방법?
앞서 언급했듯이, pure-pw 명령어는 사용자를 관리하는 데 필요한 명령어입니다. 예를 들어, sysadmin 사용자를 삭제하려면 다음과 같이 합니다.
cd /etc/pure-ftpd/
pure-pw userdel sysadmin
pure-pw mkdb
사용자를 변경할 때마다 사용자의 가상 데이터베이스 파일을 재생성해야합니다. 파일은 / etc / pure-ftpd /에 있으며 pure-pw mkdb로 생성 / 업데이트됩니다.
어쨌든 친구들은 추가 할 것이 많지 않다고 생각합니다. 여기서 보여 드린 것보다 훨씬 많은 것을 허용하기 때문에 pure-pw의 도움을 읽어 보도록 권합니다 (이것은 짧고 거의 기본적인 튜토리얼입니다).
1, 2년 전에 나는 모든 것을 OpenLDAP 또는 MySQL에 연결한 사람 중 하나였지만, 시간이 지나면서 서버인 데이터베이스에 대한 너무 많은 연결이 우리가 감당할 수 없는 소비를 발생시킨다는 것을 깨달았습니다. Pure-FTPd .pdb의 경우처럼 애플리케이션 자체 파일에 데이터베이스를 사용하는 것과 같은 실행 가능한 대안
의심이나 질문이 있으면 최대한 도와 드리겠습니다.
안녕하세요. 해피 해킹!