vsftp

說明:
    vsftpd是一款在Linux發行版中最受推崇的FTP服務器程序。特點是小巧輕快,安全易用。vsftpd 的名字代表"very secure FTP daemon", 安全是它的開發者 Chris Evans 考慮的首要問題之一。在這個 FTP 服務器設計開發的最開始的時候,高安全性就是一個目標 
 
    常用的FTP命令
    ftp kt@192.168.0.10
    連接服務器
    bye
    中斷與服務器的連接
    open
    與服務器相連接
    send
    上傳文件用put也可以
    get
    下載文件
    mget
    下載多個文件
    del
    刪除文件
         
     
    安裝軟件包:
    [root@zzh /]# yum install vsftpd
     
    相關文件說明:
    /etc/vsftpd/vsftpd.conf
    核心配置文件
    /etc/vsftpd/ftpusers
    用於指定哪些用戶不能訪問FTP服務器
    /etc/vsftpd/user_list
    指定允許使用vsftpd的用戶列表文件
    /etc/vsftpd/vsftpd_conf_migrate.sh
    是vsftpd操作的一些變量和設置腳本
    /var/ftp/
    默認情況下匿名用戶的根目錄
     
     
    需求:
    1、公司技術部準備搭建一臺功能簡單的FTP服務器,允許所有員工上傳和下載文件,並允許創建用戶自己的目錄
    2、允許kangte帳號登錄FTP服務器.但不能登錄本地系統.並將這帳號的根目錄限制爲/var/www/html.不能進入該目錄以外的任何目錄
     
     
    [root@zzh /]# vim /etc/vsftpd/vsftpd.conf
    anonymous_enable=YES
    匿名訪問 #不用輸入用戶密碼之間進入
    local_enable=YES
    允許本地用戶登錄
    write_enable=YES
    是否有寫入權限
    ocal_umask=022
    上傳的文件所生成的權限
    anon_upload_enable=YES
    允許匿名用戶上傳文件 默認爲#註釋
    anon_mkdir_write_enable=YES
    允許匿名用戶創建目錄 默認爲#註釋
    chroot_list_enable=YES
    激chroot功能 默認爲#註釋
    chroot_list_file=/etc/vsftpd/chroot_list
    設置鎖定用戶在根目錄中的列表文件 默認爲#註釋
    xferlog_enable=YES
    啓用日誌
    xferlog_file=/var/log/xferlog
    日誌文件存放位置
    local_root=/var/www/html
    設置本地用戶的根目錄 注意:這個字段需要自己添加
     
     
    [root@zzh /]# vim /etc/vsftpd/chroot_list
    根據上面設置建立鎖定用戶在根目錄中列表文件
    添加需要鎖定用戶在根目錄的帳號
    kangte
    zzh
     
     
    創建目錄並配置權限:
    注意:目錄權限是訪問和創建文件最關鍵的一定要注意
    /var/ftp/
    注意:這個目錄的權限默認是755一定不要改
    [root@zzh /]# mkdir /var/ftp/niming
    創建一個匿名訪問目錄默認權限即可
    [root@zzh /]# chown ftp /var/ftp/niming/
    給匿名訪問目錄目錄ftp屬主權限
    [root@zzh /]# chmod -R o+w /var/www/html/
    添加目錄其他用戶組可寫權限
     
    創建用戶:
    [root@zzh /]# useradd -s /sbin/nologin kangte
    創建用戶並禁止本地登錄
    [root@zzh /]# passwd kangte
    設置一下密碼
     
    [root@zzh /]# service vsftpd restart
    重啓服務生效
    注意:這個目錄現在有創建目錄和上傳文件的權限但沒有刪除的權限
     
     
     
     
     
     
     
     
     
     
     
     
    進階虛擬賬戶
    要求:用虛擬賬戶對用戶進行不同的權限配置
     
    [root@zzh /]# vim /etc/vsftpd/vsftpd_user.txt
    創建用戶數據庫文件
    添加兩個虛擬帳號
    kangte1
    123456
    kangte2
    1234567
     
    生成數據庫:
    [root@zzh CentOS]# rpm -ivh db4-utils-4.3.29-10.el5.i386.rpm
    安裝生成數據庫所需程序
    保存虛擬帳號和密碼的文本文件無法被系統帳號直接調用我們需要使用db_load命令生成db數據庫文件
    [root@zzh /]# db_load -T -t hash -f /etc/vsftpd/vsftpd_user.txt /etc/vsftpd/vsftpd_user.db
    生成db庫文件
     
    [root@zzh /]# chmod 600 /etc/vsftpd/vsftpd_user.db
    對文件設置權限只要root用戶有權限
     
     
    配置PAM文件:
    爲了使服務器能夠使用數據庫文件.對客戶端進行身份驗證.需要調用系統的PAM模塊
    PAM爲可插拔認證模塊.不必重新安裝應用系統.通過修改指定的配置文件.調整對該程序的認證方式。PAM模塊配置文件路徑爲/etc/pam.d/目錄.此目錄下保存着大量與認證有關的配置文件.並以服務名稱命名
     
    [root@zzh /]# vim /etc/pam.d/ktvsftpd
    添加下面字段
    auth       required    /lib/security/pam_userdb.so      db=/etc/vsftpd/vsftpd_user
    account    required    /lib/security/pam_userdb.so      db=/etc/vsftpd/vsftpd_user
     
     
    創建虛擬帳號對應的系統用戶
    [root@zzh /]# useradd -d /var/ftp/kagnte1 kangte1
    [root@zzh /]# useradd -d /var/ftp/kagnte2 kangte2
    將兩個帳號的目錄進行隔離.控制用戶的文件訪問
    [root@zzh /]# chmod -R 500 /var/ftp/kagnte1
    設置讀和執行權限
    [root@zzh /]# chmod -R 700 /var/ftp/kagnte2
    設置所以權限
    注意:一定要對目錄做相應的權限設置.不然配置文件有可寫權限也不能向目錄添加文件
     
     
    [root@zzh /]# vim /etc/vsftpd/vsftpd.conf
    主配置文件
    anonymous_enable=NO
    匿名訪問
    local_enable=YES
    允許本地用戶登錄
    write_enable=YES
    是否有寫入權限
    chroot_list_enable=YES
    激chroot功能 默認爲#註釋
    chroot_list_file=/etc/vsftpd/chroot_list
    設置鎖定用戶在根目錄中的列表文件 默認爲#註釋
    pam_service_name=ktvsftpd
    配置vsftpd使用的PAM模塊 功能就是審覈用戶名密碼
    user_config_dir=/etc/vsftpd/vuserconfig
    設置虛擬帳號的主目錄 用於保存虛擬賬戶權限配置文件 注意:這個字段需要自己添加
    max_clients=300
    設置FTP服務器最大接入客戶端數爲300個              注意:這個字段需要自己添加
    max_per_ip=10
    設置每個IP地址最大連接數爲10個                    注意:這個字段需要自己添加
    注意:在windows地址欄方式登錄直接退出並沒有端口連接.設置最大數爲10.windows10個用戶就登不上去了
     
    [root@zzh /]# vim /etc/vsftpd/chroot_list
    根據上面設置建立鎖定用戶在根目錄中列表文件
    添加需要鎖定用戶在根目錄的帳號 注意:這裏必要設置
    kangte1
    kangte2
     
     
     
    建立配置文件
    設置多個虛擬帳號的不同權限.需要爲每個虛擬帳號建立獨立的配置文件.並根據需要進行相應的設置
    [root@zzh /]# mkdir /etc/vsftpd/vuserconfig
    根據上面配置建立虛擬帳號的主目錄
    在user_config_dir指定路徑下建立與虛擬帳號同名的配置文件並添加相應的配置字段
     
    [root@zzh /]# vim /etc/vsftpd/vuserconfig/kangte1
    添加下面字段
    guest_enable=yes
    開啓虛擬帳號登錄
    guest_username=kangte1
    設置ftp對應的系統帳號
    anon_world_readable_only=no
    允許匿名用戶瀏覽器整個服務器的文件系統
    anon_max_rate=50000
    限定傳輸速率爲50KB/s
     
    [root@zzh /]# vim /etc/vsftpd/vuserconfig/kangte2
    添加下面字段
    guest_enable=yes
    開啓虛擬帳號登錄
    guest_username=kangte2
    設置ftp對應的系統帳號
    anon_world_readable_only=no
    允許匿名用戶瀏覽器整個服務器的文件系統
    write_enable=yes
    允許在文件系統寫入權限
    anon_mkdir_write_enable=yes
    允許創建文件夾
    anon_upload_enable=yes
    開啓匿名帳號的上傳功能
    anon_max_rate=100000
    限定傳輸速度爲100KB/s
     
    [root@zzh /]# service vsftpd restart
    重啓服務生效
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章