FTP服務

FTP:file Transfer protocol

FTP協議:

    tcp/21端口:命令連接,控制連接

    tcp/20端口:文件傳輸連接

FTP:文件共享服務,工作在應用層

RPC:Remote Procedure Call,遠程過程調用:實現兩個進程之間使用二進制格式通信

NFS:Network filesystem:依賴RPC協議

Samba:CIFS/SMB協議,CIFS:Common Inter FileSystem


服務器程序:

    wu-ftpd:比較早的的FTP,功能強大,但不是模塊化設計   

    vsftpd:Very Secure ftp Daemon,安全性強

    proftpd:

    pureftpd:

    Serv-U:

    filezilla

客戶端程序:

    CLI:

        ftp

        lftp

    GUI:

        gftpd

        FlashFXP

        Cuteftp

        Filezilla

vsftpd:

    /etc/vsftpd:配置文件目錄

    /etc/init.d/vsftpd:服務腳本

    /usr/sbin/vsftpd:主程序

    基於PAM實現用戶認證:

        /etc/pam.d/*

        /lib/security/*

        /lib64/security/*

    支持虛擬用戶

    /var/ftp:文件目錄存放路徑、

    /etc/vsftpd/ftpusers:定義哪些用戶不能訪問ftp服務

    /etc/vsftpd/user_list:定義哪 些用戶訪問ftp服務


ftp的用戶:

    匿名用戶

    虛擬用戶

    系統用戶


/var/ftp:ftp用戶的家目錄

    匿名用戶訪問目錄,即匿名用戶映射爲了ftp用戶


匿名用戶帳戶:anonymous


vsftpd.conf配置文件

anonymous_enable=YES     #開啓匿名用戶訪問
anonymous_enable=YES     #是否允許本地用戶登陸ftp
write_enable=YES        #用戶是否可以上傳文件(指系統用戶)
anon_upload_enable=YES    #是否允許匿名用戶上傳文件
anon_mkdir_write_enable=YES    #是否允許匿名用戶寫文件
anon_other_write_enable=YES    #是否開啓其他權限,如刪除文件
dirmessage_enable=YES    #用戶進入一個目錄後,顯示歡迎文件,在目錄上建立.message文件即可
xferlog_enable=YES    #是否打開傳輸日誌
xferlog_file=/var/log/xferlog    #是否打開傳輸日誌文件保存位置
xferlog_std_format=YES    #日誌文件格式
#chown_uploads=YES    
#chown_username=whoever    #此項和上一項表示,是否用戶上傳完成文件,更改文件的屬主、屬組
#idle_session_timeout=600
#data_connection_timeout=120 #此項和上一項表示定義會議超時時長的指令
#ascii_upload_enable=YES
#ascii_download_enable=YES    #此項和上一項定義上傳下載是否使用ascii格式
#chroot_list_enable=YES    #表示是不是使用一個用戶來定義用戶,把他鎖在家目錄下
#chroot_list_file=/etc/vsftpd/chroot_list #在哪個文件創建列表,列表中的哪此用戶鎖在家目錄
#chroot_local_user=YES #系統中的所有用戶都會被鎖在家目錄下,需關閉上面兩項
listen=YES    #表示vsftpd是否工作爲一個獨立的守護進程
pam_service_name=vsftpd    #vsftpd接受pam控制,控制的配置文件叫什麼名字,如vsftpd
userlist_enable=YES#是否使用user_list這個文件來控制登陸ftp,YES表示啓用
userlist_deny=YES #YES表示表中的用戶不能登陸FTP,NO表示只有user_list中的用戶可以登陸
max_clients = #  #定義最大用戶連接數
max_per_ip =  #  #定義每個IP地址發起幾個連接請求

#ftps+ssl的實現
ssl_enable=YES
ssl_tlsv1=YES
ssl_tlsv2=YES
ssl_sslv3=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
rsa_cert_file=/etc/vsftpd/ssl/vsftpd_cert.pem
rsa_private_key_file=/etc/vsftpd/ssl/vsftpd_key.pem

#開啓虛擬用戶認證,需添加以下兩行
guest_enable=YES
guest_username=vuser  #開啓來賓帳戶,映射爲vuser用戶

#虛擬用戶實現不同的權限
user_config_dir=/etc/vsftpd/vusers_dir  #需要關閉所有anon的功能

#mkidr /etc/vsftpd/vusers_dir/
#cd /etc/vsftpd/vusers_dir
#touch tony
#vim tony
anon_upload_enable=YES
anon_mkdir_wirte_enable=YES

共享服務權限:文件系統權限*文件共享權限



FTP安全通信方式:

    ftps:ftp+ssl/tls

    sftp:Openssh,subsystem,sftp(SSH實現)









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章