FTP 共享資源庫系統資源


一、了解ftp

FTP(File Transfer Protocol)是一個非常古老並且應用十分廣泛的文件傳輸協議,FTP協議是現今使用最為廣泛的網絡文件共享協議之一,我們現在也一直有在用着FTP協議來進行各種文件的傳輸,FTP為我們提供了一種可靠的方式在網絡上進行文件的共享。

二、准備虛擬機

本地鏡像使用centos-1908。也就是說掛載的鏡像是centos-1908,點開你的虛擬機設置看看配置的對不對。

 

三、vsftpd部署安裝

systemctl stop firewalld //關閉防火牆 setenforce 0 //關閉se

1)配置 yum 源 

把 yum 源去掉換成本地的 yum 源。把新的 yum 源輸入進去就行。

mv/etc/yum.repos.d/* /media/ //移除原有的yum源 vim /etc/yum.repos.d/lcoal.repo //在這個文件里添加yum源 [centos] name=centos baseurl=file:///opt/centos gpgcheck=0 enabled=1 

mkdir -p /opt/centos                 //創建一個目錄
mount /dev/sr0 /opt/centos             //將那個鏡像掛在到cetos這個目錄
//查看掛載情況 [root@ftp ~]# ls /opt/centos CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7 EFI images Packages RPM-GPG-KEY-CentOS-Testing-7 EULA isolinux repodata TRANS.TBL


//查看 yum 源是否正常

[root@ftp ~]# yum repolist
已加載插件:fastestmirror
Loading mirror speeds from cached hostfile
Loading mirror speeds from cached hostfile
Loading mirror speeds from cached hostfile
Loading mirror speeds from cached hostfile
Loading mirror speeds from cached hostfile
源標識 源名稱 狀態
!base/7/x86_64 CentOS-7 - Base 0
centos centos 0
!extras/7/x86_64 CentOS-7 - Extras 0
!updates/7/x86_64 CentOS-7 - Updates 0
repolist: 0

這樣 yum 源已經弄好了。

 2)下載vsftp

查看完端口后是21端口就對了。

//下載 vsftpd net-tools [root@ftp ~]#yum install -y vim vsftpd net-tools //啟用vsftpd [root@ftp ~]#systemctl start vsftpd //查看端口 [root@ftp ~]# netstat -ntlp |grep vsftpd tcp6 0 0 :::21 :::* LISTEN 1769/vsftpd 

 

查看配置文件里的內容。

listen=YES:是否以獨立運行的方式監聽服務

listen_address=192.168.x.x:設置監聽的 IP 地址

listen_port=21:設置監聽 FTP 服務的端口號

write_enable=YES:是否啟用寫入權限

download_enable=YES:是否允許下載文件

userlist_enable=YES:是否啟用 user_list 列表文件

userlist_deny=YES:是否禁用 user_list 中的用戶

max_clients=0:限制並發客戶端連接數

max_per_ip=0:限制同一 IP 地址的並發連接數

guest_enable=YES:啟用虛擬用戶

user_config_dir=/etc/vsftpd/vsftpd_user_conf :虛擬用戶使用的配置文件目錄

allow_writeable_chroot=YES:允許寫入用戶主目錄

常用的匿名 FTP 配置項:

anonymous_enable=YES:啟用匿名訪問

anon_umask=022:匿名用戶所上傳文件的權限掩碼

anon_root=/var/ftp:匿名用戶的 FTP 根目錄

anon_upload_enable=YES:允許上傳文件

anon_mkdir_write_enable=YES:允許創建目錄

anon_other_write_enable=YES:開放其他寫入權

anon_max_rate=0:限制最大傳輸速率(字節/秒)
常用的本地用戶 FTP 配置項:

local_enable=YES:是否啟用本地系統用戶

local_umask=022:本地用戶所上傳文件的權限掩碼

local_root=/var/ftp:設置本地用戶的 FTP 根目錄

chroot_local_user=YES:是否將用戶禁錮在主目錄

 四、配置虛擬用戶

1)配置用戶名密碼

進入配置文件里創建一個存放密碼的文件

vim /etc/vsftpd/users.conf //創建 users.conf 進入這個文件

文件里面寫用戶名和密碼,第一行是用戶名第二行是密碼(默認:奇數列是用戶名、偶數列是密碼)

 給密碼加密

db_load -T -t hash -f /etc/vsftpd/users.conf /etc/vsftpd/users.db //密碼加密 vim /etc/vsftpd/users.conf         //查看密碼被加密后的情況 chmod 600 users.db              //給 users.db 授權(只有這里面的用戶去讀寫)
chmod 600 users.*               //授權(文件里面的用戶授權)

2)創建系統用戶

useradd vsftpd -d /home/vsftpd -s /sbin/nologin //創建用戶 (-d:指定用戶所在目錄 -s:指定一下不能登錄 ) chmod -R 777 /home/vsftpd //給上面的文件授權(777:可以上傳、下載)    
vim /etc/pam.d/vsftpd //修改里面的文件

放到這里的話會避免很多的錯誤。

3)修改主配置文件

vim /etc/vsftpd/vsftpd.conf //修改主配置文件 

現在配置的是 yunjisuan 如果還要使用那個就也把那個這樣配置一下即可。

// 創建子配置文件目錄 [root@localhost ~]# mkdir -p /etc/vsftpd/vsftpd_user_conf //進入創建的文件 [root@localhost ~]# cd !$ cd /etc/vsftpd/vsftpd_user_conf //進入文件里添加配置 [root@localhost vsftpd_user_conf]# vim yunjisuan local_root=/home/vsftpd/xmcsxy # 當本地用戶登入時,將被更換到定義的目錄下。默認值為各用戶的家目錄。 anon_upload_enable=YES # 是否允許登陸用戶有上傳權限。 write_enable=YES # 是否允許登陸用戶有寫權限。
# 重啟服務,使配置文件生效 [root@localhost vsftpd_user_conf]# systemctl restart vsftpd [root@localhost vsftpd_user_conf]# systemctl enable vsftpd Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.w

 五、鏈接ftp

我使用的是 xftp 你們還可以使用其他的軟件去鏈接。鏈接上之后直接就可以直接去測試了,上傳一下文件啊、下一下啊什么的。

 六、Linux下使用ftp

yum install -y lftp //現在 lftp lftp liao1@127.0.0.1 //輸入后回車 會讓輸入密碼 輸入密碼后 ls 查看能否查看,能查看即為成功。  

LFTP內部命令:

​ ls 顯示遠端文件列表(!ls 顯示本地文件列表)。

​ cd 切換遠端目錄(lcd 切換本地目錄)。

​ get 下載遠端文件。

​ mget 下載遠端文件(可以用通配符也就是 *)。

​ pget 使用多個線程來下載遠端文件, 預設為五個。

​ mirror 下載/上傳(mirror -R)/同步 整個目錄。

​ put 上傳文件。

​ mput 上傳多個文件(支持通配符)。

​ mv 移動遠端文件(遠端文件改名)。

​ rm 刪除遠端文件。

​ mrm 刪除多個遠端文件(支持通配符)。

​ mkdir 建立遠端目錄。

​ rmdir 刪除遠端目錄。

​ pwd 顯示目前遠端所在目錄(lpwd 顯示本地目錄)。

​ du 計算遠端目錄的大小

​ ! 執行本地 shell的命令(由於lftp 沒有 lls, 故可用 !ls 來替代)

​ lcd 切換本地目錄

​ lpwd 顯示本地目錄

​ alias 定義別名

​ bookmark 設定書簽。

​ exit 退出ftp

七、黑白名單

ftpusers:

如果創建了用戶,設置了密碼,將用戶名添加到ftpusers中,則無法登錄ftp服務。

user_list:

根據配置,可以是白名單,也可以是黑名單。userlist_enable和userlist_deny兩個選項聯合起來針對的是:本地全體用戶(除去ftpusers中的用戶)和出現在user_list文件中的用戶以及不在在user_list文件中的用戶這三類用戶集合進行的設置。

userlist_enable和userlist_deny兩個選項聯合起來針對的是:本地全體用戶(除去ftpusers中的用戶)和出現在user_list文件中的用戶以及不在在user_list文件中的用戶這三類用戶集合進行的設置。

為了說明這個問題,我們來建立兩個測試用戶:

test1: 在user_list中

test2:不在user_list中

然后我們分別給兩個配置項取不同的值,分4種Case進行測試:

Case 1: userlist_enable=YES, userlist_deny=YES

test1: 拒絕登入

test2: 允許登錄

Case 2: userlist_enable=YES, userlist_deny=NO

test1: 允許登錄

test2:拒絕登錄(如user_list文件開頭的注釋所述,甚至不會提示輸入密碼,即無登入提示框,直接拒絕連接)

Case 3: userlist_enable=NO,userlist_deny=NO

test1: 允許登錄

test2: 允許登錄

Case 4: userlist_enable=NO,userlist_deny=YES

test1: 允許登錄

test2: 允許登錄

當且僅當userlist_enable=YES時:userlist_deny項的配置才有效,user_list文件才會被使用;當其為NO時,無論userlist_deny項為何值都是無效的,本地全體用戶(除去ftpusers中的用戶)都可以登入FTP

當userlist_enable=YES時,userlist_deny=YES時:user_list是一個黑名單,即:所有出現在名單中的用戶都會被拒絕登入;

當userlist_enable=YES時,userlist_deny=NO時:user_list是一個白名單,即:只有出現在名單中的用戶才會被准許登入(user_list之外的用戶都被拒絕登入);另外需要特別提醒的是:使用白名單后,匿名用戶將無法登入!除非顯式在user_list中加入一行:anonymous


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM