一.介紹
文件傳輸協議(英文:File Transfer Protocol,縮寫:FTP)是用於在網絡上進行文件傳輸的一套標準協議,使用客戶/服務器模式。它屬於網絡傳輸協議的應用層。文件傳送(file transfer)和文件訪問(file access)之間的區別在於:前者由FTP提供,後者由如NFS等應用系統提供。
二.配置ftp服務
1.在服務端
1)安裝vsftpd服務
2)啓動vsftpd服務並設置爲開機自動啓動
3)關閉防火牆並設置爲開機不啓動
4)關閉selinux
vim /etc/sysconfig/selinux 將第7行改爲SELINUX=disabled
關閉selinux後,由於修改了配置文件,所以須重啓服務,重啓之後,輸入getenforce指令查看,如果顯示Disabled,則設置成功
2.在客戶端
1)安裝lftp服務 yum install lftp -y
2)測試
如果連接後,輸入ls命令,可看到圖示內容,則表示配置成功
三.四種常見的報錯
500報錯:權限過大
530報錯:認證失敗
550報錯:服務本身不允許
553報錯:文件系統權限過小
四.修改配置文件
在服務端
編輯vsftpd的配置文件:/etc/vsftpd/vsftpd.conf,即vim /etc/vsftpd/vsftpd.conf
因爲修改的是配置文件,所以要重啓vsftp服務,即systemctl restart vsftpd
在客戶端
利用lftp命令進行測試
1)限制匿名用戶的登陸
anonymous_enable=YES|NO
YES:允許匿名用戶登陸
NO:不允許匿名用戶登陸
編輯配置文件
修改第12行
重啓服務
在客戶端測試,當anonymous_enable=YES時,
當anonymous_enable=NO時,
2)修改配置文件限制匿名用戶上傳文件
write_enable=YES
anono_upload_enable=YES
重啓服務
修改匿名用戶登陸的默認目錄的權限:chmod 775 /var/ftp/pub
修改匿名用戶登陸的默認目錄的所屬組:chgrp ftp /var/ftp/pub
在客戶端測試
3)匿名用戶上傳文件默認權限的修改
anono_umask=022 修改umask值
重啓服務
在客戶端測試
4)允許匿名用戶下載自己上傳的文件
anon_world_readable_only=NO(NO表示匿名用戶可以下載自己上傳的文件)
在客戶端測試
下載成功
5)是否允許匿名用戶建立目錄(在pub目錄)
anon_mkdir_write_enable=YES
重啓服務
在客戶端測試
6)是否允許匿名用戶刪除自己上傳的文件及建立的目錄
anono_other_write_enable=YES
重啓服務
在客戶端測試
7) 匿名用戶使用身份的修改
chown_uploads=YES
chown_username=student(匿名用戶以student用戶身份登陸)
重啓服務
在客戶端上傳文件
在服務端查看
8)指定匿名用戶登陸後家目錄
anon_root=/mnt 指定你名用戶的家目錄爲/mnt
重啓服務
在客戶端測試
9)限制匿名用戶最大上傳速率
anno_max_rate=102400 限制匿名用戶最大上傳速率爲100M
爲了使匿名用戶能夠上傳文件,具有權限,將家目錄改爲默認目錄/var/ftp/pub
重啓服務
創建文件
在客戶端測試
10)服務端最大連接數
max_clients=1 設置服務端最大連接數爲1
重啓服務
在客戶端測試
虛擬機連接成功
物理機連接失敗
2.本地用戶
1)本地用戶家目錄的修改
local_root=/jiao
重啓服務
在/jiao目錄下創建三個文件,爲測試結果明顯
在客戶端測試
測試發現在看到文件爲/jiao目錄下的文件,設置成功
(2)本地用戶上傳文件默認權限的修改
local_umask=xxx
重啓服務
爲使用戶能夠上傳文件,需要修改目錄的權限
在客戶端測試
(3)限制本地用戶瀏覽根目錄
chroot_local_user=YES
必須修改權限,否則會報500(權限過大)的錯誤
chmod u-w /home/*
重啓服務
在客戶端測試
4)用戶黑名單的建立(黑名單中的用戶不能訪問根目錄)
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
vim /etc/vsftpd/chroot_list
將xin,chen用戶設爲黑名單用戶
重啓服務
在客戶端測試
student用戶能夠訪問根目錄
xin用戶不能訪問根目錄
chen用戶不能訪問根目錄
(5)用戶白名單的建立(只有白名單中的用戶可以訪問根目錄)
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
將xin,chen用戶設置爲白名單用戶
重啓服務
在客戶端測試
xin用戶能夠訪問根目錄
student用戶不能訪問根目錄
6)限制本地用戶登陸
vim /etc/vsftpd/ftpusers 永久黑名單
vim /etc/vsftpd/user_list 臨時黑名單
/etc/vsftpd/user_list爲臨時黑名單,通過設定可以變爲白名單
7)用戶白名單的設定(只有白名單中出現的用戶才能通過lftp遠程連接)
userlist_deny=NO
vim /etc/vsftpd/user_list 此參數設定,此文件變成用戶白名單,名單中出現的用戶可以登陸ftp
重啓服務
在客戶端測試
student用戶可以登陸
xin用戶不能登陸
chenyo用戶不能登陸
8)用戶黑名單的設定(黑名單中出現的用戶不能通過lftp遠程連接)
userlist_deny=YES
/etc/vsftpd/user_list 此參數設定,此文件變成用戶黑名單,名單中出現的用戶不可以登陸ftp
重啓服務
在客戶端測試
student用戶不能登陸
xin用戶能夠登陸
4.3.虛擬用戶
1)虛擬用戶創建
服務端:
步驟一:編輯配置文件,用來存放虛擬用戶的賬戶信息
vim /etc/vsftpd/file 文件名任意
user1
123
user2
123
步驟二:
爲了安全,將用戶名和密碼進行加密
db_load -T -t hash -f /etc/vsftpd/xinfile /etc/vsftpd/xinfile.db
步驟三:查看是否安裝pam ps aux | grep pam
步驟四:編輯解析文件 vim /etc/pam.d/xin
步驟五.修改vsftpd的解析文件 vim /etc/vsftpd/vsftpd.conf
133pam_service_name=xin
134guest_enable=YES
爲了防止影響,將136userlist_deny=NO註釋掉
重啓服務
在客戶端測試:
user1,user2登陸成功
2)統一指定虛擬用戶家目錄
方法同上,步驟五爲:修改vsftpd的解析文件 vim /etc/vsftpd/vsftpd.conf
133pam_service_name=xin
134guest_enable=YES
135guest_username=student
爲了防止影響,將userlist_deny=NO註釋掉
重啓服務
在客戶端測試
user1,user2登陸後默認家目錄爲student
3)虛擬用戶家目錄單獨設定
服務端
爲user1和user2創建家目錄並修改權限
mkdir /ftphome/user1/user1dir -p
mkdir /ftphome/user2/user2dir -p
chmod 775 /ftphome/usr1/user1dir
chmod 775 /ftphome/usr2/user2dir
chgrp ftp /ftphome -R
vim /etc/vdftpd/vdftpd.conf
重啓服務
在客戶端測試
user1登陸後家目錄爲user1dir
user2登陸後家目錄爲user2dir
設置成功
Linux學習筆記之ftp服務
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Weblogic 補丁升級操作步驟
風_3aa7
2019-01-25 13:35:45
Linux學習日記之yum源的搭建及共享
user15000
2018-11-18 02:33:07
最強大跨平臺備份工具 Restic 的使用
天兵公園
2018-10-16 07:04:49
CentOS7 SSH免密碼登錄和關閉密碼登錄
天兵公園
2018-10-12 07:03:11
Linux中正確的關機方法
Dufre
2018-10-11 06:39:01
rclone 掛載 Onedrive
天兵公園
2018-10-09 07:02:57
CentOS7 開機啓動任務
天兵公園
2018-10-06 07:00:46
Linux課程第十五天學習筆記
shichao0503
2018-09-11 09:09:48
4-26Linux文件與目錄管理
ministry78
2018-09-11 07:37:07
Linux學習
ministry78
2018-09-11 07:37:07
Linux部分簡寫全稱
ministry78
2018-09-11 07:37:07
Linux自學筆記(6):Linux文件系統及文件類型
Keep_Smile_
2018-09-11 07:34:50
Linux自學筆記(7):bash基礎特性及基礎命令
Keep_Smile_
2018-09-11 07:34:48
Linux自學筆記(2):Linux發行版
Keep_Smile_
2018-09-11 07:34:48