centos7.9版本 1.下載FTP離線安裝包: http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd(x86-64) 選擇最後一個 vsftpd-3.0.2-28.el7.x86_64.rpm 2.檢查是否已經安裝了vsftp rpm ...
centos7.9版本
1.下載FTP離線安裝包:
http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd(x86-64) 選擇最後一個 vsftpd-3.0.2-28.el7.x86_64.rpm
2.檢查是否已經安裝了vsftp
rpm -qa | grep vsftpd
出現提示vsftpd版本號則表示已安裝,沒有則未安裝
3.安裝vsftpd(推薦離線)
離線安裝 rpm -ivh vsftpd-3.0.2-22.el7.x86_64.rpm
線上安裝 yum install -y vsftp
4.安裝過程可能會報錯
[root@yjy-pt01 vsftpd]$ rpm -ivh vsftpd-3.0.2-22.el7.x86_64.rpm
warning: vsftpd-3.0.2-22.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
libc.so.6(GLIBC_2.14)(64bit) is needed by vsftpd-3.0.2-22.el7.x86_64
libc.so.6(GLIBC_2.15)(64bit) is needed by vsftpd-3.0.2-22.el7.x86_64
解決:安裝相關依賴
rpm -ivh libcap-2.16-5.5.el6.x86_64.rpm
rpm -ivh libcap-devel-2.16-5.5.el6.x86_64.rpm
若是執行上面命令依然提示 安裝依賴失敗 ,可執行如下命令強制執行
rpm -ivh libcap-2.16-5.5.el6.x86_64.rpm --nodeps --force
rpm -ivh libcap-devel-2.16-5.5.el6.x86_64.rpm --nodeps --force
上述依賴鏈接地址可根據不同系統版本下載相應依賴rpm包:https://centos.pkgs.org/7/centos-x86_64/
例如下載libcap-2.16-5.5.el6.x86_64.rpm包 鏈接地址即是:https://centos.pkgs.org/7/centos-x86_64/libcap-2.16-5.5.el6.x86_64.rpm
5.檢查是否安裝成功
rpm -qa | grep vsftpd 出現版本號vsftpd-2.2.2-24.el6.x86_64 #,即表示安裝成功
6.安裝好ftp之後,執行命令查看vsftpd服務是否在運行狀態
systemctl status vsftpd.service 若是在運行 即可看到 actving
7.創建用戶
1.# 創建ftp目標文件夾 mkdir /home/testFtp
2.chmod 755 /home/testFtp
3.# 創建用戶 useradd -d /home/testFtp -s /sbin/nologin -g ftp -G root testUser
4.# 設置密碼 我設置的是 Test@123 passwd testUser 密碼可隨意設置
5.# 更改用戶testUser 的主目錄為/home/testFtp 執行命令:usermod -d /home/testFtp testUser
6.# 上述命令參數解釋如下 : #useradd 添加用戶testUser
#-d 指定用戶根目錄為/home/testFtp
#-s 指定shell腳本為/sbin/nologin,表示不允許shell登錄
#-g 創建分組ftp
#-G 指定root分組
8.配置vsftpd
1. 修改vsftpd配置文件 vi /etc/vsftpd/vsftpd.conf
找到一下內容修改成和我一樣的:
anonymous_enable=NO
local_root=/home/testFtp
chroot_local_user=YES
chroot_list_enable=YES
# chroot_list文件中放的是限制目錄的用戶,防止裡面的用戶進入ftp目錄以外的目錄
chroot_list_file=/etc/vsftpd/chroot_list
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
#下麵自己加,上面的都有,仔細尋找和對比
userlist_deny=NO
allow_writeable_chroot=YES
2.編輯chroot_list文件
vi /etc/vsftpd/chroot_list#添加一行 就是你創建的用戶名 有多個的話一行一個
# 我這裡寫是為了不限制 testUser只能訪問指定目錄,一般是要限制的也就是不需要寫進這個文件
testUser
3.編輯user_list文件
vi /etc/vsftpd/user_list
#添加一行 就是你創建的用戶名 有多個的話一行一個
testUser
4.修改另一個文件 (防止後面登陸出現 530 Login incorrect 錯誤)
cd /etc/pam.d/
vi vsftpd
# 把第四行 pam_shells.so 的改成下麵這個
pam_nologin.so
5啟停命令,每次修改vsftpd.conf都要重啟
#啟動
service vsftpd start 或 systemctl start vsftpd.service
#停止
service vsftpd stop 或 systemctl stop vsftpd.service
#重啟
service vsftpd restart 或 systemctl restart vsftpd.service
9.Windows連接測試
win + R
輸入cmd
- 輸入
ftp
- 輸入
open 192.168.209.129
(換成你的IP) - 輸入用戶名
testUser
- 輸入密碼
Test@123
- 看到
230 Login successful.
即為成功,之後便可以使用ftp工具連接了。 - 出現530 Login incorrect錯誤時,需要先確定用戶名、密碼、主機地址和埠是否正確,如果都正確,再檢查本地是否開啟了21埠
- 檢查20 21埠伺服器是否開啟,查看開啟埠firewall-cmd --list-all 開啟20,21埠firewall-cmd --zone=public --add-port=20/tcp --permanent
- firewall-cmd --zone=public --add-port=20/tcp --permanent 然後重啟防火牆 irewall-cmd --reload
- 報錯:打開FTP伺服器上的文件夾時發生錯誤,請檢查是否有許可權訪問該文件夾
-
設置IE瀏覽器 —— Internet選項 —— 高級 —— 將
使用被動FTP(用於防火牆和DSL數據機的相容)
選項去掉 —— 確定 -
用IE及IE內核的瀏覽器(如360等)登錄Linnux空間FTP
需要使用
ftp://用戶名:密碼@ftp地址
來訪問 例如:ftp://hqx:[email protected]
-
依照上面方法,windwos端依然無法登陸訪問ftp的話,參照下麵方式解決:
-
檢查ftp服務是否已開啟:控制面板 —— 程式 —— 啟用或關閉windows功能
-
找到
Internet Information Services
里的FTP伺服器
,並勾選FTP服務
和FTP擴展性
-
找到
TFTP客戶端
,並勾選,點擊 “確定” 等待系統自動安裝程式完畢 -
控制面板 —— 系統和安全 —— 點擊Windows防火牆下的 “允許應用通過Windows防火牆”
-
在列表中確認 “Windows資源管理器” 右側的兩個勾選,如果沒有勾選則點擊上方的 “更改設置” 。
補充知識
/etc/vsftpd下的文件作用:
- ftpusers:指定了哪些用戶賬戶不能訪問FTP伺服器,例如root等。 如果想要root 登錄 則註釋裡面的root
- user_list:可以作為用戶白名單,或者是黑名單,或者無效名單。完全由userlist_enable和userlist_deny這兩個參數決定。
效果如下:#拒絕文件中的用戶FTP訪問
userlist_enable=YES userlist_deny=YES
# 拒絕除文件中的用戶外的用戶FTP訪問
userlist_enable=YES userlist_deny=NO
# 基本可以認為user_list文件無用
userlist_enable=NO userlist_deny=YES/NO
Ubuntu 版本
一、 FTP
1.1 安裝ftp
sudo apt-get install vsftpd
1.2 配置FTP
sudo gedit /etc/vsftpd.conf
將下麵三個屬性的註釋取消,即設置不允許匿名登錄、允許本地用戶登錄、允許修改文件
# Allow anonymous FTP? (Disabled by default).
anonymous_enable=NO
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
在文件末尾添加
allow_writeable_chroot=YES
在文件末尾添加下麵屬性、鎖定一個共用目錄(根據自己情況設置)
local_root=home/bit/shareFile
取消下麵三個屬性的註釋,在文件vsftpd.chroot_list中保存的是可訪問的用戶
chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd.chroot_list
註意
自己添加的兩行代碼一定沒有空格,如何添加了空格,本地瀏覽器就無法登陸
一定不能有空格
1.3添加可訪問用戶
sudo vi /etc/vsftpd.chroot_list
寫入
bit(用戶名,根據自己情況自行填寫)
root
1.4創建共用文件夾
mkdir shareFile
chmod -R 777 shareFile
1.5重啟伺服器
sudo service vsftpd restart
#啟動、關閉的命令
#啟動FTP伺服器
#sudo service vsftpd start
#關閉FTP伺服器
#sudo service vsftpd stop
#重啟FTP伺服器
#sudo service vsftpd restart
1.6windows 鏈接測試如上面 操作即可
本文來自博客園,作者:Java-三尺青鋒,轉載請註明原文鏈接:https://www.cnblogs.com/zhangjiale/p/17686946.html