只允許匿名用戶下載的ftp

只允許匿名用戶下載的ftp

本次系統

[root@localhost yum.repos.d]# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.6.1810 (Core) 
Release:    7.6.1810
Codename:   Core

安裝vsftpd服務

yum install -y vsftpd

配置

/etc/vsftpd/vsftpd.conf	#vsftpd 的核心配置文件
anonymous_enable=YES				#更改配置開啓匿名用戶訪問
anon_max_rate=5000000000	#匿名用戶的下載速度

關閉防火牆

systemctl stop firewalld.service

重啓vsftpd

systemctl restart  vsftpd.service

瀏覽器打開,默認的存儲路徑爲/var/ftp/

在這裏插入圖片描述

歐克~~

  • 一些參數說明
anonymous_enable=YES	#開啓匿名訪問
local_enable=NO				#拒絕本地用戶訪問
write_enable=NO				#拒絕本地用戶寫入權限,包括修改
anon_upload_enable=YES	#允許匿名用戶上傳
anon_mkdir_write_enable=YES	#允許匿名用戶上傳/創建目錄
anon_world_readable_only=YES	#允許匿名用戶瀏覽
anon_other_write_enable=YES		#允許匿名用戶具有建立目錄,上傳之外的權限,如重命名,刪除
anon_umask=022								#匿名用戶上傳後的權限是-rw-------
dirmessage_enable=YES		#是否顯示目錄說明文件, 默認是YES 但需要手工創建.message文件,這個.message,只有用命令登陸或者用工具,纔可以看見,他不是一個彈出對話框,而是一段字符,如在pub下建立一個.message,那麼在客戶端進入pub目錄時就會顯示.message文檔中的內容 35行
#xferlog_enable=YES	#記錄使用者所有上傳下載信息 
#xferlog_file=/var/log/vsftpd.log	#將上傳下載信息記錄到
#connect_from_port_20=YES	#確保ftp-datad 數據傳送使用port 20
idle_session_timeout=600	#如果使用者600秒沒有動作,則強制離線,也就是指令超時時間
listen=YES				#使用standalone啓動vsftpd
#xferlog_std_format=YES		#使用standalone啓動vsftpd,而不是super daemon(xinetd)控制它 (vsftpd推薦使用standalone方式)
listen_ipv6=NO
pam_service_name=vsftpd		#PAM所使用的名稱.同userlist_*一樣限制用戶登陸,不同的是userlist_*在進行密碼驗證之前拒絕用戶登陸,pam是在密碼驗證之後拒絕登陸.(提示密碼錯誤) 
userlist_enable=NO		#爲yes時, /etc/vsftpd/user__list文件中的用戶將不能訪問vsftpd服務器 117行 
reverse_lookup_enable=NO	#登錄用戶的dns反解析
tcp_wrappers=YES
use_localtime=YES
anon_max_rate=5000000000	#匿名用戶的下載速度
  • 參考鏈接:https://blog.csdn.net/piggachen/article/details/69943386
    Ubuntu下的FTP服務
    1. 配置相關服務
    啓動服務:
    [root@netseek root]# #rpm –qa | grep vsftpd ;查看是否安裝vsftpd服務
    #/etc/init.d/vsftpd start ;啓動服務
    #chkconfig vsftpd on ;讓系統服務隨着系統啓動而啓動
    配置相關文檔:
    #vi /etc/vsftpd/vsftpd.conf
    禁止匿名用戶訪問:
    anonymous_enable=YES,將YES改爲NO
    在文件末尾加如下的設置:
    # new added by netseek
    listen_port=5021 ;命令通道端口,默認爲21
    listen_data_port=5020 ;數據通道端口,默認爲20
    pasv_enable=YES ;允許被動模式
    pasv_min_port=10000 ;被動模式使用端口範圍
    pasv_max_port=10010
    local_max_rate=200000 ;用戶寬帶限制
    chroot_local_user=YES ;禁用戶離開主目錄
    listen_address=192.168.0.21 ;讓他監聽ip:192.168.0.21
    注:在添加過程中請不要加上”;”和這些中文註釋,在這裏我上爲了方便大家瞭解才加上的。
    2. 添加虛擬主機用戶
    添加用戶netseek_com,用戶目錄指定爲/var/www/netseek.com,且此用戶不能登陸系統.
    #mkdir /var/www/netseek.com
    #useradd –s /sbin/nologin –d /var/www/netseek.com netseek_com 問題就在這裏,使用這句話後,就無法登錄,如果改爲useradd -s /bin/false 那就可以了
    注-s /sbin/nologin是讓其不能登陸系統,-d 是指定用戶目錄爲/var/www/netseek.com
    #passwd netseek_com (Do not Hack me 3ks) DnHm3ks 這是我設置的密碼
    #chown –R netseek_com:netseek_com /var/www/netseek.com
    注:將用戶目錄及其子目錄的所有和所屬的組設置爲netseek_com
    3. 配置磁盤配額
    我在安裝過程中磁盤了多個區,分別/home,/var,/,/www,tmp,swap,/boot多個分區。建議你將磁盤分多個獨單的分區,這樣可以降低磁盤分區損壞造成的數據丟失風險.
    #[root@netseek root]# rpm -qa | grep quota
    quota-3.06-9 ; 我的系統已經安裝了磁盤配額工具
    #vi /etc/fstab
    找到類似
    LABEL=/var /var ext3 defaults 1 2
    在defaults後加入usrquota,改爲如下:
    LABEL=/var /var ext3 defaults,usrquota 1 2
    重新加載/var這個分區:
    #mount –o remount /var
    #cd /var 進入這個目錄
    #touch quota.user
    #chmod 600 quota.user
    #quotacheck –mf /var 對磁盤分區空間使用情況進行強制檢測
    [root@localhost var]# quotacheck -mf /var
    quotacheck: WARNING - Quotafile /var/quota.user was probably truncated. Can't save quota settings...
    重新啓動系統
    第一次運行時都會出現這個警告,再次運行的時候就不會啦
    爲指定用戶定額:
    #edquota netseek_com 爲用戶netseek_com設置磁盤配額。
    Disk quotas for user netseek_com (uid 501):
    Filesystem blocks soft hard inodes soft hard
    /dev/sda5 6616 307200 0 15 0 0
    注:
    ilesystem blocks soft hard inodes soft hard
    filesystem-正在設置的文件系統,不要修改或刪除
    bolock-當前使用的碰盤空間,單位爲KB
    soft(第一個)-軟磁盤空間限制,默認0,表示無限制,我在這裏設爲300M。
    hard(第一個)-硬配額限制,0表示無限制。
    inodes-當前文件數量
    soft(第二個)-對文件數量的軟限制,0表示無限制
    hard(第二個)-對文件數量的硬限制,0表示無限制
     
    讓系統啓動是自動加載:
    #vi /etc/rc.d/rc.local ,加入以下:
    /etc/init.d/vsftpd start
    /sbin/quotacheck
    /sbin/quotaon –avu
    現在查看netseek_com 用戶使用磁盤空間的情況
    [root@localhost ~]# quota -u netseek_com
    Disk quotas for user netseek_com (uid 501):
    Filesystem blocks quota limit grace files quota limit grace
    /dev/sda5 6616 307200 0 15 0 0
     
    注:關於更多的quota命令,請用man命令查看吧,烏哥(VBird)說,我們要學會找男人 !
     
    4. 效果演示,登陸演示:
     
    四, VsFTPd相關的配置詳解
    1.匿名用戶相關設置
    anonymous_enable=YES ,將YES改爲NO, 禁止匿名用戶登陸
    #non_mkdir_write_enable=YES ,將#註釋去掉,允許匿名用戶創建目錄
    #non_upload_enalbe=YES ,將#去掉,允許匿名用戶上傳
    anon_world_readable_only=YES ,允許匿名用戶下載,默認是禁止的,這個可以自行添加。
    Anon_other_write_enable=YES ,將其設爲YES的話,就除了上傳和創建目錄外,還可以重命名,刪除文件,默認是NO
    no_anon_password=NO ,將其設爲YES,匿名用戶不會查詢用戶密碼直接登陸。
    ftp_username=ftp ,匿名用戶登陸系統的賬號默認爲ftp,此項最好不要改,否則設置不當會給系統的安全帶來威脅。
    2.FTP服務端口的指定
    listen_port=8021 ,指定命令通道爲8021,默認爲21
    listen_data_port=8020 ,指定數據通道爲8020,默認爲20
    3.上傳模式的設置
    pasv_enable=YES ,是否允使用被動模式,默認是允許的。
    pasv_min_port=10000 ,指定使用被動模式時打開端口的最小值
    pasv_max_port=10004 ,指定使用被動模式時打開端口的最大值。
    4.Vsftp服務器指定IP地址
    listen_address=192.168.0.21 ,指定FTP,IP地址
    注:只有當vsftp運行於獨立模式時才允許使用指定IP,如果在/etc/xinetd.d目錄下已經建立了vsfpd文件,就要將該文件中的disable設置爲yes,方可。
    5. 鎖定用戶,禁止用戶離開用戶主目錄
    chroot_local_user=YES ,將其設爲YES,就鎖定在用戶主目錄,設爲NO,可以切換
    將指定用戶設置爲鎖定用戶主目錄:
    #chroot_list_enable=YES
    #chroot_list_file=/etc/vsftpd.chroot_list
    將其改爲如下:
    chroot_list_enable=NO
    chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
    將上面保存,再做如下操作:
    #touch /etc/vsftpd/vsftpd.chroot_list
    #vi /etc/vsftpd/vsftpd.chroot_list ,在該文件中加入用戶名單,如:
    netseek_com
    6.FTP服務器的流量控制
    max_clients=100 ;允許的最大連接數,定義爲100,默認爲0,表沒有限制
    max_per_ip=5 ;每個IP允許的連接數,0表沒有限制,需要運行於獨立模式方可
    anon_max_rate=50000 ;匿名用戶最大帶寬,單位爲bps
    local_max_rate=200000 ;系統用戶最大帶寬
    如何對指定用戶進行流量限制呢?
    #vi /etc/vsftpd/vsftpd.conf,添加一行:
    user_config_dir=/etc/vsftpd/userconf
    #touch /etc/vsftpd/userconf/netseek_com 爲netseek_com這個用戶建立一個netseek_com文件
    #vi /etc/vsftpd/userconf/netseek_com 添加以下內容
    local_max_rate=100000
    保存重啓服務即可.
    7.定製歡迎信息
    目錄說明設置
    #vi /etc/vsftpd/vsftpd.conf
    #dirmessage_enable=YES,前的#去掉。
    然後我們定製一個.message,寫上你想寫的東西,然後把這個文件複製到各個用戶的家目錄中,就OK。
     
    系統歡迎消息設置
    ftpd_banner=Welcome to ftp.netseek.com , Yeah!!!
    系統歡迎消息文件設置
    banner_file=/etc/vsftpd/welcome 與ftpd_banner相類似,不同之處在於,banner_file指定歡迎文件. 
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES


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