『壹』 linux下已經安裝了vsftpd軟體包,並且vaftpd服務已啟動,為什麼輸入命令ftp時還是提示command not found
!!! 我沒遇到過這樣的問題,但這個明顯是你安裝的rpm包沒有注冊ftp這個變數 你可以試試其他的
『貳』 Linux下安裝vsftpd常見問題
當我們限定了用戶不能跳出其主目錄(chroot_local_user=YES)之後,使用該用戶登錄FTP時往往會遇到這個錯誤,這個問題由於版本更新造成的,從2.3.5之後,vsftpd增強了安全檢查, 如果用戶被限定在了其主目錄下,則該用戶的主目錄不能再具有寫許可權了! 如果檢查發現還有寫許可權,就會報該錯誤。
要修復這個錯誤,可以用命令chmod a-w /home/user去除用戶主目錄的寫許可權,注意把目錄替換成你自己的。或者你可以在vsftpd的配置文件中增加下列兩項中的一項:
參考: https://www.cnblogs.com/116970u/p/10788285.html
要是還不行,就使用客戶端工具吧,常用的FileZilla個大平台免費使用。
可以通過systemctl status vsftpd -l查看出現了什麼問題,本立當中就是出現了變數錯誤的情況
11月 20 19:01:36 MyCentos vsftpd[40707]: 500 OOPS: unrecognised variable in config file: anno_root
anno_root變數寫錯了,修改即可
『叄』 如何在linux下開啟FTP服務
Linux下ftp服務可以通過搭建vsftpd服務來實現,以CentOS為例,首先查看系統中是否安裝了vsftpd,可以通過執行命令rpm -qa |grepvsftpd來查看是否安裝相應的包,如果沒有安裝那麼可以執行yum-yinstallvsftpd來安裝,安裝之後首先創建ftp用戶,比如ftp_test,命令如下:
useradd-s/sbin/nologin-d/home/ftp_testftp_test
目錄盡量不要選擇根目錄下,這里是/home/ftp_test,並且ftp_test這個目錄不要手動創建,否則許可權會有問題,執行命令的時候會自動創建,
現在可以看到上面的路徑是一個/,對於ftp用戶來說也就是根目錄了,只能在這個目錄下操作,而無法跳出這個目錄
以上就是vsftpd服務的基本搭建過程,實際使用時可以分配多個用戶
『肆』 linux下如何下載VSFTP
1.伺服器上安裝
yum -y install vsftpd
chkconfig --level 35 vsftpd on
/etc/init.d/vsftpd start
useradd vsftpdtest
passwd vsftpdtest
2.本地使用ftp軟體測試下
使用剛剛創建版的權vsftpdtest賬戶
『伍』 Linux ftp伺服器相關問題
在Linux中搭建一個ftp伺服器,以供兩個工作小組保管文件使用。禁用匿名。第一個小組使用ftp賬號:ftp1,工作目錄在:/var/ftp/ftp1;第二個小組使用ftp2,工作目錄在:/var/ftp/ftp2。
兩個小組互相不能訪問各自的文件,需要限制用戶不能離開自己的工作目錄。
【實現步驟】
1.檢查安裝vsftpd伺服器
以root進入終端後(其他賬戶進入終端的可以用su root 輸入密碼後進入root 模式)之後,在終端命令窗口輸入以下命令進行驗證:# rpm –qa | grep vsftpd。如果結果顯示為「vsftpd-1.1.3-8」,則說明系統已經安裝vsftpd伺服器。若沒有回復,即系統中沒有安裝。
『陸』 linux系統下,如何檢查系統是否已經安裝了vsftpd
使用rpm命令即可查看是否已經安裝vsftpd,具體如下:
[root@BJ-NQ-V-HH002 ftp]# rpm -qa|grep vsftpd
vsftpd-2.2.2-11.el6_3.1.x86_64
說明:如果沒有安裝成功,則執行以上命令,沒有任何提示,相反則會顯示當前系統中安裝的vsftpd的版本。
『柒』 linux中怎麼安裝vsftpd
vsftpd是Linux下比較著名的FTP伺服器,搭建FTP伺服器當然首選這個。
本文介紹了在CentOS 6.4下安裝vsftpd、配置虛擬用戶登錄FTP的過程。
正文:
一:安裝vsftpd
查看是否已經安裝vsftpd
rpm -qa | grep vsftpd
如果沒有,就安裝,並設置開機啟動
yum -y install vsftpd
chkconfig vsftpd on
二:基於虛擬用戶的配置
所謂虛擬用戶就是沒有使用真實的帳戶,只是通過映射到真實帳戶和設置許可權的目的。虛擬用戶不能登錄CentOS系統。
修改配置文件
打開/etc/vsftpd/vsftpd.conf,做如下配置
anonymous_enable=NO //設定不允許匿名訪問
local_enable=YES //設定本地用戶可以訪問。註:如使用虛擬宿主用戶,在該項目設定為NO的情況下所有虛擬用戶將無法訪問
chroot_list_enable=YES //使用戶不能離開主目錄
ascii_upload_enable=YES
ascii_download_enable=YES //設定支持ASCII模式的上傳和下載功能
pam_service_name=vsftpd //PAM認證文件名。PAM將根據/etc/pam.d/vsftpd進行認證
以下這些是關於vsftpd虛擬用戶支持的重要配置項,默認vsftpd.conf中不包含這些設定項目,需要自己手動添加
guest_enable=YES //設定啟用虛擬用戶功能
guest_username=ftp //指定虛擬用戶的宿主用戶,CentOS中已經有內置的ftp用戶了
user_config_dir=/etc/vsftpd/vuser_conf //設定虛擬用戶個人vsftp的CentOS FTP服務文件存放路徑。存放虛擬用戶個性的CentOS FTP服務文件(配置文件名=虛擬用戶名
進行認證
首先,安裝Berkeley DB工具,很多人找不到db_load的問題就是沒有安裝這個包。
yum install db4 db4-utils
然後,創建用戶密碼文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用戶名,偶行是密碼
test
123456
接著,生成虛擬用戶認證的db文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
隨後,編輯認證文件/etc/pam.d/vsftpd,全部注釋掉原來語句,再增加以下兩句:
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
最後,創建虛擬用戶配置文件
mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/test //文件名等於vuser_passwd.txt裡面的賬戶名,否則下面設置無效
內容如下
local_root=/ftp/www //虛擬用戶根目錄,根據實際情況修改
write_enable=YES //可寫
anon_umask=022 //掩碼
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
設置Selinux
setsebool -P ftp_home_dir=1 //設置ftp可以使用home目錄
sersebool -P allow_ftpd_full_access=1 //設置ftp用戶可以有所有許可權
設置FTP根目錄許可權
mkdir /ftp/www //創建目錄
chmod R 755 /ftp
chmod R 777 /ftp/www
最新的vsftpd要求對主目錄不能有寫的許可權所以ftp為755,主目錄下面的子目錄再設置777許可權
設置防火牆
打開/etc/sysconfig/iptables
在「-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT」,下添加:
-A INPUT -m state --state NEW -m tcp -p -dport 21 -j ACCEPT
然後保存,並關閉該文件,在終端內運行下面的命令,刷新防火牆配置:
service iptables restart
OK,運行「service vsftpd start」,你就可以訪問你的FTP伺服器了。
『捌』 劃重點了!FTP漏洞的利用
在一個實驗環境中,我們使用虛擬機ip.151的Kali-linux系統對靶機ip.149的Metasploitable2-Linux系統(FTP版本:vsftpd 2.3.4)進行攻擊。靶機和攻擊者處於同一網段,確保環境設置適宜。
FTP,即文件傳輸協議,採用客戶端/伺服器模式,使用21號埠。FTP用戶分為兩類,匿名用戶和非匿名用戶。實驗中,我們通過確認靶機IP和FTP版本,首先匿名登錄。輸入用戶名"anonymous"和任意密碼,成功登錄並查看可用命令。
接著,我們利用FTP的後門漏洞進行攻擊。nmap掃描顯示存在CVE漏洞,通過nc工具觸發vsftpd-2.3.4的漏洞,連接到6200埠的shell,該埠通常未開啟。在Metasploit實戰中,我們啟動postgresql服務,使用msfconsole進行滲透操作,包括探測FTP、查看探測記錄、搜索並設置payload,最後執行exploit獲取Bash shell,驗證成功登錄root用戶。
為了防止此類漏洞,我們需要強化系統防護。首先,修改vsftpd.conf配置,禁止匿名用戶登錄;其次,針對特定漏洞應用補丁或通過防火牆限制對後門埠的連接。