ubuntu에서 vsftp를 설치하고 설정하며 로컬 사용자와 가상 사용자의 로그인을 지원합니다

4953 단어 ubuntu
저의 ubuntu는 12.04 서버 버전입니다. 제 글은 절대로 초보자의 관점에서 고려한 것이지, 이것저것 마구잡이로 여러분을 놀리는 것이 아닙니다.
1. 직접 명령 설치
apt-get install vsftpd

설치가 완료되면/srv/ftp 디렉터리를 생성합니다
다음 명령을 사용하면 설치 성공 여부를 볼 수 있습니다
ps -e | grep vsftp
    :
 1366 ?        00:00:00 vsftpd
  
netstat -nat
 21    :
tcp        0      0 0.0.0.0:21              0.0.0.0:*

이렇게 하면 다음과 같은 명령을 사용하여 vsftp의 조작을 진행할 수 있다
service vsftpd start
service vsftpd restart
service vsftpd stop

 
2. 나는 로컬 사용자를 지정하여/var/www 디렉터리에 다운로드 파일을 업로드할 수 있기를 기대한다
다음 항목을 설정하면 됩니다.
vi /etc/vsftpd.conf
anonymous_enable=NO  #      
local_enable=YES   #        ftp
local_root=/var/www  #  ftp     
write_enable=YES  #    、   

    ,  
useradd -r -g www -d /var/www tong  
#  tong           /var/www,    www,       useradd tong    
#        
passwd tong
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

    

vsftpd 서비스 다시 시작
/etc/init.d/vsftpd restart

액세스 성공 여부 테스트
 
ftp localhost
Name (localhost:root): tong
Password:
230 Login successful.    

ftp> pwd        ,     "/"
ftp> ls          ,    /var/www   
이 로컬 사용자가 ftp에 접근하는 데 성공했습니다.
 
여러분은 사용자를 한 명 더 늘려서/var/www 디렉터리에 로그인할 수 있는지, 다른 ftp 도구로 연결할 수 있는지 테스트할 수 있습니다.
효과는 똑같아요!!
 
3. 가상 사용자 로그인 지원
위에서 우리는 단지 로컬 사용자의 로그인을 지원했을 뿐이지만 프로젝트 그룹이 너무 많은 시스템 사용자를 만들어서 항상 필요없다고 느낀다. 특히 팀이 매우 클 때 가상 사용자가 필요하다.다른 인터넷에서는 대부분이 가상 사용자가 어떻게 어울리는지 이야기했지만 그들이 이해하지 못하는 것은 가상 사용자가 되고 시스템 사용자가 또 안 된다는 것이다.또는 시스템 사용자가 되고 가상 사용자가 안 된다.사실 두 가지 방식을 동시에 공용하여 조금만 찌르면
vsftpd의 인증 방식은pam인증을 통과한 것이다. 나는 여기서 관건만 말하고pam메커니즘을 연구하고 싶은 사람은 여기를 볼 수 있다.http://kuliuheng.blogbus.com/logs/38544503.html여기서 말하는 것이 비교적 상세하다
가상 사용자 vtong을 만들 생각입니다. 비밀번호는 vtong입니다./var/www 디렉터리에 접근하십시오.
가상 사용자 목록 파일을 만드는 것은 사실 미리 편집한 파일입니다. 경로가 자유롭고 파일 이름도 명명됩니다!
 
cd /home
vi loguser.txt
    ,      ,     ,           ,    。
【             ,                   ,     】
vtong
vtong
    
데이터베이스를 생성하는 linux 도구 패키지db 설치utile, 당신은 apt-get으로 최신 것을 다운로드할 수 있습니다. 최신 것은 이렇게 볼 수 있습니다.
 
 
apt-get install db     source   db-utile, tab   ,    
db4.7-util        dbar              dbtoepub
db4.8-util        dbconfig-common   dbus
db4otool          dbeacon           dbus-1-dbg
db5.1-doc         dbench            dbus-1-doc
db5.1-sql-util    dbf2mysql         dbus-java-bin
db5.1-util        dblatex           dbus-test-runner
dbacl             dbndns            dbus-x11
dballe            dbs               db-util
dballe-common     dbskkd-cdb        dbview
      db5.1-util     ,         ,    

apt-get install db5.1-util
설치한 후 다음 명령을 실행합니다. 방금 파일loguser에 따라.txt 라이브러리 파일 생성
 
 
db5.1_load -T -t hash -f /home/loguser.txt /etc/vsftpd_login.db
데이터베이스 파일 접근 권한 설정
 
 
chmod 600 /etc/vsftpd_login.db
PAM 파일/etc/pam을 구성합니다.d/vsftpd, 모두/etc/vsftpd를 보십시오.conf에서 pam 을 발견합니다.service_name 매개 변수는 이 인증 파일을 지정하는 것입니다
vi /etc/pam.d/vsftpd
             ,        
auth sufficient pam_userdb.so db=/etc/vsftpd_login
account sufficient pam_userdb.so db=/etc/vsftpd_login

  ,      ,              
auth required pam_userdb.so db=/etc/vsftpd_login
account required pam_userdb.so db=/etc/vsftpd_login
   
fficient와 Required의 차이는 매우 크다. PAM 인증에 소개가 있는데 다음과 같다. 알고 싶지 않으면 바로 건너갈 수 있다.
----------------------------------------------
모듈 제어 표지 및 반환 값표
제어 표지
성공 결과
실패 결과
----------------------------------------------
requisite 창고를 계속 실행하면 창고가 즉시 실패로 중단됩니다
required 스택은 스택을 계속 실행하지만 실패로 중단됨
sufficient 창고는 이전 모듈이 실패하지 않으면 즉시 성공적으로 중단됩니다. 창고가 계속 실행되지 않습니다.
optional 창고 계속 실행 창고 계속 실행 모듈 잃어버리거나
----------------------------------------------
계속해서 가상 사용자를 위해 로컬용 vsftpd를 만듭니다. 저희가 앞으로 추가할 모든 가상 사용자는 이 vsftpd 로컬 사용자에 의존합니다.
useradd vsftpd -d /home/vsftpd -s /bin/false  #    /home/vsftpd       
chown vsftpd:vsftpd /home/vsftpd
마지막으로 편집/etc/vsftpd.conf 파일, 다음 두 변수가 설정되어 있는지 확인하십시오
guest_enable=YES 
guest_username=vsftpd
    
모든 구성 완료
vsftpd 다시 시작
service vsftpd restart
ftp localhost
              ,    ,    

이로써 우리 vsftpd는 로컬 사용자와 가상 사용자가 동시에 로그인할 수 있고 다른 vsftpd와 관련된 매개 변수 설정은 man vsftpd를 볼 수 있습니다.conf 파일, 감사합니다!

좋은 웹페이지 즐겨찾기