it-swarm-ko.tech

기본 우분투 FTP 서버

우분투 서버 설치에서 기본 FTP 서버를 설정하고 싶습니다. VSFTPD로 놀고 있지만 서버에서 디렉토리를 만들고 파일을 복사 할 수있게하는 데 문제가 있습니다. 로컬 사용자를 허용하도록 시스템을 설정했지만 디렉토리를 만들 수있는 것은 아닙니다. 이것은이 FTP 서버를 적절히 구성하기 위해 우분투 서버 설정에 더 잘 기초 해야하는 인스턴스 일 수 있습니다. 최종 목표는 배포 할 로컬 dev 폴더에서 www 폴더로 파일을 이동할 수 있도록하는 것입니다. 디렉토리도 이동할 수 있어야합니다. 도움을 주시면 감사하겠습니다.

33
JPrescottSanders

PureFTPD는 제 생각에 가장 간단하고 사용하기 쉽기 때문에 추천합니다. 먼저 설치해야합니다. Sudo apt-get install pure-ftpd 설치되면 자동으로 시작됩니다. 기본적으로 PAM 인증을 사용합니다. 즉, 인증을 위해 시스템에 이미 존재하는 계정을 사용합니다. 홈 디렉토리가 www 경로 인 사용자 계정을 만들고 해당 계정의 비밀번호를 설정하기 만하면됩니다. 그런 다음 해당 사용자/패스 조합에 연결하여 파일을 업로드/다운로드 할 수 있어야합니다.

이 같은:

Sudo adduser ftpman --home /var/www/ --ingroup www-data

ftpman 사용자를 생성하고 Apache가 사용하는 www-data 그룹에 배치하고 나머지 설정 스크립트를 안내합니다. 정의 된 WWW 폴더에 대해 이미 작성한 사용자/그룹 조합에 오류가있는 경우 WWW 폴더를 chmod로 지정하십시오.

마지막으로 해당 계정에 대한 SSH 액세스를 잠 그려면 Sudo chsh -s /bin/false ftpman를 실행하면 해당 사용자 셸이 false로 변경됩니다. (ftpman을 ftp 사용자로 바꾸십시오)

42
Marco Ceppi

제 생각에는 SFTP가 더 나은 방법입니다. 이봐, 이름에 "안전하다"라는 단어가있어

SFTP는 ssh를 사용하여 파일 전송을 수행합니다 (기본적으로 FTP + TLS 인 FTPS와 구별됨). 즉, 동일한 인증 메커니즘을 사용하므로 대상 시스템에 ssh 할 수 있으면 거의 항상 SFTP를 수행 할 수 있으므로 다른 서버 데몬을 전혀 설치 및 구성 할 필요가 없습니다 (예 : pureftpd 또는 vsftpd 없음). /var/www에 대해 권한이 올바르게 설정되어있는 한 아마Sudo chmod g+w /var/www; Sudo usermod -g $USER -G www-data $USER의 문제인 경우-SFTP를 즉시 사용할 수 있습니다.

요즘 대부분의 클라이언트 소프트웨어는 SFTP를 매우 행복하게 할 것이며, 개발자 서버의 셸에서 scp을 사용하여 파일을 복사 할 수도 있습니다 (scp -R는 전체 폴더를 복사하므로 매우 편리합니다). 다른 단계로 넘어 가서 공개 키로 로그인을 자동화 할 수도 있습니다. 더 이상 암호를 입력하지 않아도됩니다. :)

10
Ben Williams

Vsftpd를 사용하는 것이 좋습니다. Linux에서 가장 안전한 FTP 데몬 중 하나입니다. 다른 많은 사람들은 과거에 약점을 가지고 있었고 FTP를 안전한 방식으로 구현하기가 어렵습니다.

vsftpd는 설치 직후 시작됩니다. Ubuntu를 사용하면 로컬 사용자가 로그인 할 수 있습니다. 따라서 FTP 클라이언트를 시작하고 시스템 비밀번호를 사용하여 일반 사용자로 로그인하십시오 (예 : lftp 사용).

> lftp 127.0.0.1 ftp
lftp 127.0.0.1:~> user qbi
Password: #typing my password which I also use to log in via GDM
lftp [email protected]:~> ls
drwxr-xr-x 10 1000 1000   4096 2008-07-28 16:32 Desktop
... many more

이제 일종의 파일 관리자 (노틸러스, 셸 등)를 사용하여 새 디렉토리 foo을 만들고 FTP 클라이언트로 돌아갑니다.

ftp [email protected]:~> ls -l
...
drwxr-xr-x 2 1000 1000   4096 2010-08-09 13:32 foo

디렉토리가 있으며 여기에 cd하고 사용할 수 있습니다. 특별한 사용자가있는 경우에도 마찬가지입니다. 거기에서 디렉토리를 작성할 수도 있으며 즉시 액세스 할 수 있습니다. 여기에서 액세스 권한을 찾는 것이 중요합니다.

5
qbi

내가 처음부터 쓴 FTP 서버를 겸손히 추천한다 : JetFTP . 설치하고 사용하는 것은 매우 간단합니다 .


설치:

  • 소프트웨어 소스에 PPA를 추가하고 업데이트하십시오.

    Sudo apt-add-repository ppa:george-edison55/george-edison
    
  • 다음 명령을 실행하십시오.

    Sudo apt-get install jetftp
    
  • 그게 다야!

JetFTP 사용은 간단합니다. JetFTP가 실행중인 컴퓨터에서 로그인 이름과 암호를 사용하여 포트 8021에 연결하기 만하면됩니다.

3
Nathan Osman

ftp를 사용하지 마십시오, 기본적으로 안전하지 않은 프로토콜입니다. 사용자 이름과 비밀번호를 서버에 분명하게 전송하기 때문입니다. sftp를 구현하는 것만 큼 쉽고 연결 보안에 큰 이점이 있습니다.

2
Stuart

VSFTPD의 기본 설치에서는 기본적으로 변경 사항 작성/수정을 허용하지 않습니다. /etc/vsftpd.conf을 (를) 수정하고 다음 줄의 주석을 해제해야합니다 ...

write_enable=YES

둘째, 해당 파일과 폴더에 대해 적절한 파일 시스템 권한을 구성해야합니다.

0
Simon East

Ftp 서버를 설정하는 방법에는 세 가지가 있습니다.

(1) 익명 FTP :

사람들은 익명 계정과 암호없이 서버에 액세스 할 수 있습니다. 물론 서버 관리자는 사용자가 불법 복제 된 음악/영화/게임과 같은 불법 파일을 넣지 못하도록 업로드 제한을 설정합니다.

(2) 익명 액세스 권한이있는 FTP 및 비밀번호 계정이있는 사용자 :

이 방법을 사용하면 익명 및 비밀번호 계정 사용자가 모두 서버에 들어갈 수 있습니다. 모든 파일 및/또는 폴더를 보거나 수정/삭제할 수있는 사용자 루트를 제외하고 지정된 디렉토리에만 액세스 할 수 있습니다.

(3) 가상 사용자 인증을위한 mysql 지원 FTP :

이 방법을 사용하면 시스템에 가상 사용자 인증 셸 계정이없는 일부 사용자 그룹에 대해서만 서버에 액세스 할 수 있습니다. 사용자 정보를 저장하는 외부 mysql 서버를 사용합니다.

첫 번째 옵션 : 익명 FTP

익명의 ftp 서버 생성을 시작하기 전에 홈 디렉토리와 함께 ftp라는 사용자를 시스템에 추가해야합니다. 이 단계는 정말 쉽습니다. 다음 명령을 따르십시오.

useradd -d /home/ftp/ftp -s /bin/false ftp

mkdir -p /home/ftp/upload

이렇게하면이 계정에만이 폴더에 쓸 수 있습니다. 더 많은 변수를 사용하여 ftp 서버가 수행 할 작업을 지정할 수 있습니다. 여기 몇 가지 예가 있어요.

-e Allow access to the server only by anonymous users
-B Start the server with background demon
-i Anonymous users can't upload files
-M Let anonymous users create folders
-s ftp user files cannot be downloaded

두 번째 옵션 : '' '익명 및 암호 계정 사용자' ''

동일한 서버에 익명 및 비밀번호 계정 사용자를 둘 수있게하려면이 작은 안내서를 따르십시오.

-B ,-i ,M, -r, -s same of before
-u <uid> Enable users with a specified user id (uid) to access the server 
-V <Ip address> Only specified IPs will be able to access the server in non-anonymous mode 

세 번째 옵션 : '' 'Mysql을 가진 가상 사용자' ''

Mysql을 지원하는 서버를 만들려면 다음 단계를 수행하십시오.

여기에서 찾을 수있는 PureFTPd 용 사용자 관리자를 다운로드하여 설치하십시오 http://machiel.generaal.net/index.php?subject=user_manager_pureftpd

압축을 풀고 모든 내용을 웹 서버 www 디렉토리에 업로드 한 다음 브라우저에이 링크 링크를 작성하십시오. http : //localhost/ftp/install.php 설치 프로그램이 요청한 모든 단계를 따르십시오 rge pureftpd-mysql.conf를 복사하여 pureftpd 사용자 관리자 디렉토리에 저장하십시오.

끝난. 이 링크를 사용하여 관리 패널에 액세스 http : // localhost/ftp

서버 프로세스를 시작하기 전에 추가 할 추가 옵션

-c <num> Max client that can connect to the server
-C <num> Max connections for a IP
-T <bandwitdh> Max bandwitdh disponible for each connection
-n <MBytes> Max MB that a user can have into its home folder
-m <Cpu Loading> Stops the anonymous uploads if the cpu loading exceed from this value 

그리고 일부 ftp 서버 응용 프로그램에 대해서는 다음을 참조하십시오.
https://help.ubuntu.com/6.06/ubuntu/serverguide/C/ftp-server.html

0
Sajad Bahmani