1. 程式人生 > >Linux的FTP服務管理

Linux的FTP服務管理

一、FTP服務端的搭建立

1.安裝並開啟ftp服務

[[email protected] Desktop]# yum install vsftpd.x86_64 

[[email protected] ~]# systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
[
[email protected]
~]# systemctl restart vsftpd [[email protected] ~]# systemctl status vsftpd ● vsftpd.service - Vsftpd ftp daemon Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled) Active: active (running) since Thu 2018-11-01 00:18:22 CST; 2s ago Process: 2983 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS) Main PID: 2989 (vsftpd) CGroup: /system.slice/vsftpd.service └─2989 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf Nov 01 00:18:21 rhel7.2 systemd[1]: Starting Vsftpd ftp daemon... Nov 01 00:18:22 rhel7.2 systemd[1]: Started Vsftpd ftp daemon.

2.配置火牆策略

 [[email protected] Desktop]# systemctl status firewalld.service 
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-10-31 20:33:26 CST; 3h 33min ago
 Main PID: 661 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─661 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

Oct 31 20:33:24 rhel7.2 systemd[1]: Starting firewalld - dynamic firewall daemon...
Oct 31 20:33:26 rhel7.2 systemd[1]: Started firewalld - dynamic firewall daemon.
[
[email protected]
Desktop]# firewall-cmd --permanent --add-service=ftp success [[email protected] Desktop]# firewall-cmd --reload success [[email protected] Desktop]# firewall-cmd --list-all public (default, active) interfaces: eth0 sources: services: dhcpv6-client ftp ssh ports: masquerade: no forward-ports: icmp-blocks: rich rules:

[[email protected] Desktop]# getenforce 
Enforcing
[[email protected] Desktop]# vim /etc/sysconfig/selinux 
[[email protected] Desktop]# reboot 

服務端搭建完成

3.客戶端測試

[[email protected] ~]$ lftp 172.25.254.111
lftp 172.25.254.111:~> ls
drwxr-xr-x    2 0        0               6 Aug 03  2015 pub

 

二、通過ftp配置檔案來管理使用者

1.匿名使用者的相關設定

anon_upload_enable=YES     ##允許匿名使用者可以上傳
anon_root=/linux           ##更改匿名用家目錄
anon_umask=022             ##更改匿名使用者上傳檔案預設許可權(原始預設許可權為600)
anon_world_readable_only=NO##允許匿名使用者下載
anon_mkdir_write_enable=YES##允許匿名使用者建立目錄
anon_other_write_enable=YES##允許匿名使用者刪除
anon_max_rate=102400       ##限制速度

客戶端測試

服務端設定

客戶端測試

注意:已經修改了配置檔案,但是為什麼還是會報錯,是因為目錄許可權不夠,新建了一個目錄更改目錄組名,並給與組可寫許可權g+x,才能完成許可權的賦予。

服務端端修改

客戶端測試

對預設情況下不進行使用者登陸數限制和速率限制會、一般在實踐應用中,我們會對其作出修改

在配置檔案中新增

最大上傳速率
anon_max_rate=102400
最大連結數
max_clients=1 表示最多有1個可以連線

 

三、ftp服務白名單的建立

建立白名單的機制是將臨時黑名單關閉,及邏輯為雙重否定為肯定。

白名單建立完成,僅user_list檔案下所有使用者可以登陸

四、FTP的虛擬使用者搭建

1.建立虛擬使用者

[[email protected] ~]# cd /etc/vsftpd/
[[email protected] vsftpd]# ls
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
[[email protected] vsftpd]# vim xuni
[[email protected] vsftpd]# chmod 600 xuni
[[email protected] vsftpd]# ll xuni
-rw------- 1 root root 36 Nov  7 18:18 xuni
[[email protected] vsftpd]# db_load -T -t hash -f xuni xuni.db
[[email protected] vsftpd]# ls
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh  xuni  xuni.db

2.建立認證目錄和修改加配置檔案

3.客戶端登陸測試

五、指定虛擬使用者的家目錄

1.搭建實驗環境

2.修改配置檔案

3.使用者測試

六、虛擬使用者的單個許可權設定

1.環境搭建

 

2.測試

3.給虛擬使用者指定登陸使用者