Linux中Vsftpd服務的部署及優化
實驗環境
selinux關閉:(設定完成需重啟)
vim /etc/sysconfig/selinux
ftp介紹
ftp:file transfer proto(檔案傳輸通道)
網際網路中最老牌的檔案傳輸協議
vsftpd安裝及啟用
在server中:
dnf install vsftpd -y
systemctl enable --now firewalld
systemctl enable --now vsftpd
firewalld -cmd --permanent --add-service=ftp
firewalld -cmd --permanent --add-source=172.1.36.101 --zone=trusted
systemctl restart firewalld 或 firewalld-cmd --reload
vim /etc/vsftpd/vsftpd.conf
12 anonymous_enable=YES 啟動匿名使用者的訪問功能
systemctl restart vsftpd
配置完成
550 ##程式本身拒絕
553 ##檔案系統許可權限制
500 ##許可權過大
530 ##認證失敗(密碼錯誤、匿名登入未開啟)
匿名使用者訪問控制
vim /etc/vsftpd/vsftpd.conf
第12行的NO改為YES
systemctl restart vaftp
此時所有使用者可訪問
家目錄控制
vim /etc/vsftpd/vsftpd.conf
寫入anon_root=/westos
systemctl restart vsftpd
上傳控制
vim /etc/vsftpd/vsftpd.conf
將29行的 anon_upload_enable=YES的註釋開啟
systemctl restart vsftpd
chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub
lftp 172.25.254.225
cd pub
put /etc/passwd
此時passwd就上傳了
目錄建立控制
vim /etc/vsftpd/vsftpd.conf
將33行的anon_mkdir_enable=YES的註釋開啟
systemctl restart vsftpd
此時可以建立目錄
lftp 172.25.254.225
cd pub
mkdir westos
匿名使用者可以下載不能讀的檔案刪除重命令控制
vim /etc/vsftpd/vsftpd.conf
在13行新增anon_other_write_enable=YES
systemctl restart vsftpd
此時可以刪除
lftp 172.25.254.225
cd pub
rm -fr passwd
下載控制
vim /etc/vsftpd/vsftpd.conf
寫入anon_world_readable_only=NO
systemtl restart vsftpd
lftp 172.25.254.225
cd pub
put /etc/passwd
get passwd
匿名使用者上傳檔案許可權設定
vim /etc/vsftpd/vsftpd.conf
anon_umask=022
systemctl restart vsftpd
匿名使用者上傳檔案的使用者身份設定
vim /etc/vsftpd/vsftpd.conf
chown_upload=YES
chown_username=westos ##所有匿名使用者在伺服器上生成的檔案都以westos的身份生成
chown_upload_mode=0644 ##設定檔案許可權
systemctl restart vsftpd
此時新上傳的檔案擁有者和許可權都已改變
登陸數量控制
vim /etc/vsftpd/vsftpd.conf
新增max_clients=2 ##最多同時允許兩臺登陸
systemctl restart vaftpd
上傳速率控制
vim /etc/vsftpd/vsftpd.conf
anon_max_rate=102400 ##最大上傳速率為100kb/s
systemctl restart vsftpd
此時上傳速率已被限制
本地使用者的訪問
建立新使用者
useradd linux
echo westos | passwd --stdin linux
su - linux
touch linuxfile
su - westos
touch westosfile
lftp 172.25.254.225 -u westos/linux 兩個使用者都可登陸
vim /etc/vsftpd/vsftpd.conf
將21行的local-enable=YES 改為NO
systemctl restart vsftpd
此時兩個使用者都不可登陸
家目錄控制
vim /etc/vsftpd/vsftpd.conf
local_root=/westosdir ##將家目錄修改為westosdir
systemctl restart vsftpd、
此時家目錄已經改變
寫許可權控制
vim /etc/vsftpd/vsftpd.conf
將25行的write_enable=YES改為NO
systemctl restart vsftpd
此時將不能寫(上傳等操作不能執行)
上傳檔案許可權控制
vim /etc/vsftpd/vsftpd.conf
local_umask=077 ##此時上傳的檔案許可權為777-077=600
systemctl restart vsftpd
此時上傳的檔案許可權變為600
鎖定使用者到自己的家目錄中(不可瀏覽/目錄)
沒做任何操作之前可以任意瀏覽/目錄
vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES ##此時所有使用者都被鎖定到自己的家目錄中,為NO時解鎖
systemctl restart vsftpd
chmod u-w /home/*
此時無法瀏覽/目錄
鎖定使用者到白名單
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
然後在/etc/vsftpd/chroot_list中寫入westos
systemctl restart vsftpd
此時除了westos其他使用者都不能訪問/目錄
鎖定使用者到黑名單
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
然後在/etc/vsftpd/chroot_list中寫入westos
systemctl restart vsftpd
此時除了westos其他使用者都可以訪問/目錄
使用者登陸控制
/etc/vsftpd/ftpusers ##永久黑名單
在此配置檔案中寫入的使用者不管做什麼操作都不能登陸
/etc/vsftpd/user_list ##預設黑名單
在此配置檔案中寫入的使用者不能登陸
使用者白名單
vim /etc/vsftpd/vsftpd.conf
新增 user_list_deny=NO ##寫入此命令後/etc/vsftpd/user_list就變成了白名單
systemctl restart vsftpd
此時只有在/etc/vsftpd/user_list這個配置檔案裡的使用者才能登陸
westos使用者可以登入
Linux使用者不能登入
虛擬使用者訪問
1.建立虛擬使用者
vim /etc/vsftp/auth_file
user1
123
user2
123
user3
123
2.加密檔案
db_load -T -t hash -f auth_file auth_file.db
3.vim /etc/pam.d/westos
account required pam_userdb.so db=/etc/vsftpd/auth_file
auth required pam_userdb.so db=/etc/vsftpd/auth_file
4.vim /etc/vsftpd/vsftpd.conf
pam_service_name=westos
guest_enable=YES
guest_username=ftp
systemctl restart vsftpd
此時lftp 172.25.254.225 -u westos 不能登陸
lftp 172.25.254.225 -u user1
lftp 172.25.254.225 -u user2
lftp 172.25.254.225 -u user3
都可以登陸
虛擬使用者家目錄獨立
mkdir -p /ftpuserdir/ftpuser{1…3}
touch /ftpuserdir/ftpuser1/user1file
touch /ftpuserdir/ftpuser2/user2file
touch /ftpuserdir/ftpuser3/user3file
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserdir/
U
S
E
R
u
s
e
r
s
u
b
t
o
k
e
n
=
USER user_sub_token=
USERusersubtoken=USER
systemctl restart vsftpd
lftp 172.25.254.225 -u user1
lftp 172.25.254.225 -u user2
登陸時虛擬使用者家目錄獨立
使用者配置獨立
vim /etc/vsftpd/vsftpd.conf
註釋anon_upload_enable=YES
新增user_config_dir=/etc/vsftpd/westos_conf
systemctl restart vsftpd
mkdir /etc/vsftpd/westos_conf
touch /etc/vsftpd/westos_conf/user1
vim /etc/vsftpd/westos_conf/user1
lftp 172.25.254.225 -u user1
lftp 172.25.254.225 -u user2
lftp 172.25.254.225 -u user3
此時,只有user1可以上傳,其餘兩個不能上傳
相關文章
- linux安裝nodejs及服務部署(二)LinuxNodeJS
- docker搭建vsftpd服務DockerFTP
- linux之FTP服務vsftpd和pure-ftpd常用配置LinuxFTP
- Linux 部署 Nginx 服務LinuxNginx
- Tomcat部署及優化Tomcat優化
- Linux-DHCP服務部署Linux
- 效能優化|Tomcat 服務優化優化Tomcat
- Linux環境下安裝配置vsftpd服務(三種認證模式)LinuxFTP模式
- NFS儲存服務及部署NFS
- Tomcat部署解析及配置優化Tomcat優化
- nginx部署及簡單優化Nginx優化
- vsftpd部署(centos7.9)FTPCentOS
- 如何在Linux下部署Samba服務?LinuxSamba
- Tomcat—部署配置及優化(安裝部署;虛擬主機配置;優化)Tomcat優化
- Android效能優化篇之服務優化Android優化
- 淺談surging服務引擎中的rabbitmq元件和容器化部署MQ元件
- 技能篇:linux服務效能問題排查及jvm調優思路LinuxJVM
- Linux雲服務部署Spring boot專案LinuxSpring Boot
- linux之frp服務部署(內網穿透)LinuxFRP內網穿透
- 『學了就忘』Linux服務管理 — 75、Linux系統中的服務Linux
- 簡單優化容器服務優化
- Linux下部署Samba服務環境的操作記錄LinuxSamba
- Docker中部署mysql服務的方法及遇到的問題DockerMySql
- Linux網路服務之部署YUM倉庫Linux
- 客戶需求呈現多樣化,IDC服務及部署全面升級
- PaddleOCR 服務化部署(基於PaddleHub Serving)
- Kali Linux常用服務配置教程安裝及配置DHCP服務Linux
- 「分散式技術專題」去中心化服務與中心化服務的優劣分散式中心化
- 儲存服務質量優化優化
- 【linux】Debian10.0配置vsftpdLinuxFTP
- 個人NuGet服務搭建,BaGet保姆及部署教程
- LAMP平臺服務簡介、部署及應用LAMP
- 白嫖github page服務,部署優雅的個人簡歷Github
- CentOS 7.9中部署SVN(Subversion)服務CentOS
- NFS服務部署NFS
- LDAP 服務部署LDA
- Linux命令補充及基礎優化。Linux優化
- 抖音本地生活服務商SaaS系統私有化部署有何優勢?