Linux學習筆記之ftp服務

一.介紹
文件傳輸協議(英文:File Transfer Protocol,縮寫:FTP)是用於在網絡上進行文件傳輸的一套標準協議,使用客戶/服務器模式。它屬於網絡傳輸協議的應用層。文件傳送(file transfer)和文件訪問(file access)之間的區別在於:前者由FTP提供,後者由如NFS等應用系統提供。
二.配置ftp服務
1.在服務端
1)安裝vsftpd服務
Linux學習筆記之ftp服務
2)啓動vsftpd服務並設置爲開機自動啓動
Linux學習筆記之ftp服務
3)關閉防火牆並設置爲開機不啓動
Linux學習筆記之ftp服務
4)關閉selinux
vim /etc/sysconfig/selinux 將第7行改爲SELINUX=disabled
關閉selinux後,由於修改了配置文件,所以須重啓服務,重啓之後,輸入getenforce指令查看,如果顯示Disabled,則設置成功
Linux學習筆記之ftp服務
Linux學習筆記之ftp服務
Linux學習筆記之ftp服務
2.在客戶端
1)安裝lftp服務 yum install lftp -y
Linux學習筆記之ftp服務
2)測試
Linux學習筆記之ftp服務
如果連接後,輸入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:不允許匿名用戶登陸
編輯配置文件
Linux學習筆記之ftp服務
修改第12行
Linux學習筆記之ftp服務
重啓服務
Linux學習筆記之ftp服務
在客戶端測試,當anonymous_enable=YES時,
Linux學習筆記之ftp服務
當anonymous_enable=NO時,
Linux學習筆記之ftp服務
Linux學習筆記之ftp服務
2)修改配置文件限制匿名用戶上傳文件
write_enable=YES
Linux學習筆記之ftp服務
Linux學習筆記之ftp服務
anono_upload_enable=YES
Linux學習筆記之ftp服務
Linux學習筆記之ftp服務
重啓服務
Linux學習筆記之ftp服務
修改匿名用戶登陸的默認目錄的權限:chmod 775 /var/ftp/pub
修改匿名用戶登陸的默認目錄的所屬組:chgrp ftp /var/ftp/pub
Linux學習筆記之ftp服務
在客戶端測試
Linux學習筆記之ftp服務
3)匿名用戶上傳文件默認權限的修改
anono_umask=022 修改umask值
Linux學習筆記之ftp服務
重啓服務
Linux學習筆記之ftp服務
在客戶端測試
Linux學習筆記之ftp服務
4)允許匿名用戶下載自己上傳的文件
anon_world_readable_only=NO(NO表示匿名用戶可以下載自己上傳的文件)
Linux學習筆記之ftp服務
在客戶端測試
Linux學習筆記之ftp服務
下載成功
5)是否允許匿名用戶建立目錄(在pub目錄)
anon_mkdir_write_enable=YES
Linux學習筆記之ftp服務
重啓服務
Linux學習筆記之ftp服務
在客戶端測試
Linux學習筆記之ftp服務
6)是否允許匿名用戶刪除自己上傳的文件及建立的目錄
anono_other_write_enable=YES
Linux學習筆記之ftp服務
重啓服務
Linux學習筆記之ftp服務
在客戶端測試
Linux學習筆記之ftp服務
7) 匿名用戶使用身份的修改
chown_uploads=YES
chown_username=student(匿名用戶以student用戶身份登陸)
Linux學習筆記之ftp服務
重啓服務
Linux學習筆記之ftp服務
在客戶端上傳文件
Linux學習筆記之ftp服務
在服務端查看
Linux學習筆記之ftp服務
8)指定匿名用戶登陸後家目錄
anon_root=/mnt 指定你名用戶的家目錄爲/mnt
Linux學習筆記之ftp服務
重啓服務
Linux學習筆記之ftp服務
在客戶端測試
Linux學習筆記之ftp服務
9)限制匿名用戶最大上傳速率
anno_max_rate=102400 限制匿名用戶最大上傳速率爲100M
Linux學習筆記之ftp服務
爲了使匿名用戶能夠上傳文件,具有權限,將家目錄改爲默認目錄/var/ftp/pub
Linux學習筆記之ftp服務
重啓服務
Linux學習筆記之ftp服務
創建文件
Linux學習筆記之ftp服務
在客戶端測試
Linux學習筆記之ftp服務
10)服務端最大連接數
max_clients=1 設置服務端最大連接數爲1
Linux學習筆記之ftp服務
重啓服務
Linux學習筆記之ftp服務
在客戶端測試
Linux學習筆記之ftp服務
虛擬機連接成功
Linux學習筆記之ftp服務
物理機連接失敗
2.本地用戶
1)本地用戶家目錄的修改
local_root=/jiao
Linux學習筆記之ftp服務
重啓服務
Linux學習筆記之ftp服務
在/jiao目錄下創建三個文件,爲測試結果明顯
Linux學習筆記之ftp服務
Linux學習筆記之ftp服務
在客戶端測試
Linux學習筆記之ftp服務
測試發現在看到文件爲/jiao目錄下的文件,設置成功
(2)本地用戶上傳文件默認權限的修改
local_umask=xxx
Linux學習筆記之ftp服務
重啓服務
Linux學習筆記之ftp服務
爲使用戶能夠上傳文件,需要修改目錄的權限
Linux學習筆記之ftp服務
在客戶端測試
Linux學習筆記之ftp服務
(3)限制本地用戶瀏覽根目錄
chroot_local_user=YES
Linux學習筆記之ftp服務
必須修改權限,否則會報500(權限過大)的錯誤
chmod u-w /home/*
Linux學習筆記之ftp服務
重啓服務
Linux學習筆記之ftp服務
在客戶端測試
Linux學習筆記之ftp服務
4)用戶黑名單的建立(黑名單中的用戶不能訪問根目錄)
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
vim /etc/vsftpd/chroot_list
Linux學習筆記之ftp服務
將xin,chen用戶設爲黑名單用戶
Linux學習筆記之ftp服務
重啓服務
Linux學習筆記之ftp服務
在客戶端測試
Linux學習筆記之ftp服務
student用戶能夠訪問根目錄
Linux學習筆記之ftp服務
xin用戶不能訪問根目錄
Linux學習筆記之ftp服務
chen用戶不能訪問根目錄
(5)用戶白名單的建立(只有白名單中的用戶可以訪問根目錄)
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
Linux學習筆記之ftp服務
將xin,chen用戶設置爲白名單用戶
Linux學習筆記之ftp服務
重啓服務
Linux學習筆記之ftp服務
在客戶端測試
Linux學習筆記之ftp服務
xin用戶能夠訪問根目錄
Linux學習筆記之ftp服務
student用戶不能訪問根目錄
6)限制本地用戶登陸
vim /etc/vsftpd/ftpusers 永久黑名單
Linux學習筆記之ftp服務
Linux學習筆記之ftp服務
Linux學習筆記之ftp服務
vim /etc/vsftpd/user_list 臨時黑名單
/etc/vsftpd/user_list爲臨時黑名單,通過設定可以變爲白名單
7)用戶白名單的設定(只有白名單中出現的用戶才能通過lftp遠程連接)
userlist_deny=NO
Linux學習筆記之ftp服務
Linux學習筆記之ftp服務
vim /etc/vsftpd/user_list 此參數設定,此文件變成用戶白名單,名單中出現的用戶可以登陸ftp
Linux學習筆記之ftp服務
Linux學習筆記之ftp服務
重啓服務
Linux學習筆記之ftp服務
在客戶端測試
Linux學習筆記之ftp服務
student用戶可以登陸
Linux學習筆記之ftp服務
xin用戶不能登陸
Linux學習筆記之ftp服務
chenyo用戶不能登陸
8)用戶黑名單的設定(黑名單中出現的用戶不能通過lftp遠程連接)
userlist_deny=YES
Linux學習筆記之ftp服務
Linux學習筆記之ftp服務
/etc/vsftpd/user_list 此參數設定,此文件變成用戶黑名單,名單中出現的用戶不可以登陸ftp
Linux學習筆記之ftp服務
Linux學習筆記之ftp服務
重啓服務
Linux學習筆記之ftp服務
在客戶端測試
Linux學習筆記之ftp服務
student用戶不能登陸
Linux學習筆記之ftp服務
xin用戶能夠登陸
4.3.虛擬用戶
1)虛擬用戶創建
服務端:
步驟一:編輯配置文件,用來存放虛擬用戶的賬戶信息
vim /etc/vsftpd/file 文件名任意
user1
123
user2
123
Linux學習筆記之ftp服務
步驟二:
爲了安全,將用戶名和密碼進行加密
db_load -T -t hash -f /etc/vsftpd/xinfile /etc/vsftpd/xinfile.db
Linux學習筆記之ftp服務
步驟三:查看是否安裝pam ps aux | grep pam
Linux學習筆記之ftp服務
步驟四:編輯解析文件 vim /etc/pam.d/xin
Linux學習筆記之ftp服務
步驟五.修改vsftpd的解析文件 vim /etc/vsftpd/vsftpd.conf
133pam_service_name=xin
134guest_enable=YES
爲了防止影響,將136userlist_deny=NO註釋掉
Linux學習筆記之ftp服務
重啓服務
Linux學習筆記之ftp服務
在客戶端測試:
Linux學習筆記之ftp服務
Linux學習筆記之ftp服務
user1,user2登陸成功
2)統一指定虛擬用戶家目錄
方法同上,步驟五爲:修改vsftpd的解析文件 vim /etc/vsftpd/vsftpd.conf
133pam_service_name=xin
134guest_enable=YES
135guest_username=student
爲了防止影響,將userlist_deny=NO註釋掉
Linux學習筆記之ftp服務
Linux學習筆記之ftp服務
重啓服務
Linux學習筆記之ftp服務
在客戶端測試
Linux學習筆記之ftp服務
Linux學習筆記之ftp服務
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
Linux學習筆記之ftp服務
vim /etc/vdftpd/vdftpd.conf
Linux學習筆記之ftp服務
Linux學習筆記之ftp服務
重啓服務
Linux學習筆記之ftp服務
在客戶端測試
Linux學習筆記之ftp服務
user1登陸後家目錄爲user1dir
Linux學習筆記之ftp服務
user2登陸後家目錄爲user2dir
設置成功
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章