linux中ftp服務的搭建與介紹
yum search vsftp
yum install vsftpd -y
對vsftp進行安裝
systemctl start vsftpd 啟動vsftpd服務
3.設置防火墻
安裝ftp服務
yun install ftp -y
firewall-cmd --permanent --add-service=ftp 在防火墻中添加ftp服務
firewall-cmd --reload 重新加載參數
firewall-cmd --list-all 顯示防火墻服務列表
4.ftp搭建成功
5.ftp配置文件修改
配置文件: /etc/vsftpd/vsftpd.conf 每次修改配置文件後需要重新啟動服務才能生效
systemctl restart vsftpd.service
匿名用戶無法登陸
2.local_enable=YES|NO #本地用戶可以|不可以登陸
3.write_enable=YES|NO ##ftp是否對登陸用戶可寫
服務未開啟
4.報錯id解析
500 ##文件系統權限過大
530 ##用戶認證失敗
550 ##服務本身功能未開啟
553 ##本地文件系統權限過小
5.匿名用戶上傳
write_enable=YES
anon_upload_enable=YES
chgrp ftp /var/ftp/pub
chmod 777 /var/ftp/pub(一定使用者需要有寫權限)
匿名用戶可以上傳文件
anon_root=/目錄地址
在新的家目錄裏新建一個文件夾 file1
匿名用戶登陸後驗證 file1 則該家目錄被修改
7.匿名用戶上傳文件默認權限修改
8.anon_mkdir_write_enable=YES|NO #匿名用戶創建目錄
服務未開啟
目錄被成功建立
9.anon_world_readable_only=NO #匿名用戶下載,設定參數為no,表示匿名用戶可以下載
服務未開啟
下載成功
10.anon_other_write_enable=YES|NO #匿名用戶刪除
服務開啟 刪除成功
11.anon_max_rate=102400 #匿名用戶最大上傳速率 單位為字節
dd if=/dev/zero of=/mnt/redfile bs=1M count=1000 截取daxiao大小為1M的數據存在redfile中
上傳平均速度為102400
12.匿名用戶最大鏈接數
這裏表示連接數最多為兩個
13.匿名用戶修改上傳文件所有者
chown_uploads=YES
chown_username=xxxx(系統已存在的用戶名)
14.匿名用戶修改上傳文件權限
上傳的文件權限被更改
本地用戶
local_enable=YES|NO ##本地用戶登陸限制
write_enable=YES|NO ##本地用戶寫權限
local_root=/絕對路徑 本地用戶家目錄修改,默認登陸用戶家目錄
本地用戶的登陸與寫的權限開啟
修改本地用戶的家目錄為/var/ftp
local_umask=xxx #本地用戶上傳文件的umask值
限制本地用戶瀏覽/目錄
所有用戶被鎖定到自己家目錄中
chroot_local_user=YES(此參數與用戶寫權限沖突,所以將用戶所有寫權限刪除,由於此目錄下只有擁有者有寫權限,所以只需要把用戶寫權限減去。但是如果需要上傳文件,則可能會出現553報錯,建議減去用戶權限後做完實驗即可恢復。)
chmod u-w /home/*
關閉後成功切換到 /
用戶黑名單
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
在/etc/vsftpd/chroot_list名單的用戶被鎖定在自己家目錄中
用戶白名單
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
不在/etc/vsftpd/chroot_list名單的用戶被鎖定在自己家目錄中
bruceiter 不在chroot_list中 則訪問不了/目錄
限制本地用戶登陸
vim /etc/vsftpd/ftpusers ##用戶黑名單
vim /etc/vsftpd/user_list ##用戶臨時黑名單
用戶白名單設定
userlist_deny=NO ##將本來的名單權限打開,並且關閉黑名單權限,就是剩余白名單權限
/etc/vsftpd/user_list ##設定可以登陸ftp的用戶
NO為打開
開啟後所有用戶登陸不了
在 /etc/vsftpd/user_lis 添加後登陸成功
ftp虛擬用戶的設定
vim /etc/vsftpd/userfile ##新建虛擬用戶賬戶密碼信息
user1
2233
user2
2233
user3
2233
db_load -T -t hash -f /etc/vsftpd/userfile /etc/vsftpd/userfile.db ##將新建的用戶賬戶密碼文件加密
vim /etc/pam.d/user ##編寫驗證賬戶密碼若驗證不通過拒絕,驗證軟件,被驗證核對的文件
account required pam_userdb.so db=/etc/vsftpd/userfile(為之前建立的賬戶密碼信息文件)
auth required pam_userdb.so db=/etc/vsftpd/userfile
vim /etc/vsftpd/vsftpd.conf
pam_service_name=user ##驗證的文件是從/etc/pam.d/user決定的,與其同名
guest_enable=YES ##設定虛擬用戶登陸
guest_username=ftp ##登陸軟件是ftp
登陸使用 -u是由於虛擬用戶與本地用戶都是使用ftp這個用戶的身份,ftp用戶是安裝時就生成的。
虛擬帳號家目錄獨立設定
vim /etc/vsftpd/vsftpd.conf
local_root=/ftphome/$USER ##區分虛擬賬戶家目錄,但是由於$USER是腳本用法,所以用下一句來告訴ftp,$USER的用法與腳本中的$USER一樣
user_sub_token=$USER
##可以在每個虛擬用戶家目錄下建立不同的文件作為標示。
mkdir /ftphome/user1/user1file -p
mkdir /ftphome/user2/user2file -p
mkdir /ftphome/user3/user3file -p
獨立設置配置文件
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/userconf
並且註釋掉關於匿名用戶的語句。在/etc/vsftpd/userconf/user1中添加關於匿名用戶配置語句,重啟服務,以用戶1的身份鏈接出現創建文件,創建成功之後,若用戶2創建不成功,則說明二者獨立設置配置文件。但是應註意要把之前的配置文件關於匿名用戶全部註釋,否則默認讀取原來的配置文件,沒有找到權限就找自己的配置文件。
linux中ftp服務的搭建與介紹