1. 程式人生 > >Linux(RadHat)基礎學習—FTP服務

Linux(RadHat)基礎學習—FTP服務

strong img blog sys mask 建立 p地址 ble 安全

RedHat下的ftp服務

1.ftp服務的啟動

1.編輯文件:vim /etc/sysconfig/selinux
第6行selinux=disabled
技術分享圖片
保存退出。
重啟主機。

2.安裝vsftpd

yum install vsftpd -y

技術分享圖片

安裝完成:

技術分享圖片

開啟ftp服務:

systmctl start vsftpd
systemctl enable vsftpd

技術分享圖片

3.防火墻允許ftp連接

firewall-cmd --permanent --add-service=ftp   ##允許ftp連接
firewall-cmd --reload   ##重啟火墻使設置生效

技術分享圖片

4.測試:ftp訪問此主機ftp://172.25.254.157

技術分享圖片

2.ftp的基本信息

訪問數據端口:21
數據傳輸端口:>1024隨機端口

默認發布目錄:/var/ftp/
訪問方式:

    lftp ip地址   ##匿名登陸

技術分享圖片

    lftp ip地址 -u username   ##用戶登陸

技術分享圖片

有關ftp的配置文件: /etc/vsftpd/vsftpd.conf

3.ftp的安全部署


編輯配置文件:vim /etc/vsftpd/vsftpd.conf

(1)anonymous_enable=YES|NO:匿名用戶是否可登陸
(2)local_enable=YES|NO:本地用戶是否可以登陸
(3)write_enable=YES|NO:本地用戶是否可寫文件
(4)設置匿名用戶可寫:
    a.改變目錄權限,使用戶組有可寫權限:chmod 775 /var/ftp/pub
    b.目錄的所有組改成ftp組:chgrp ftp /var/ftp/pub(匿名登陸用戶屬於ftp組)
編輯文件/etc/vsftpd/vsftpd.conf第29行,改為YES
(5)anon_upload_enable=YES|NO:匿名用戶可上傳
(6)anon_world_readable_only=YES|NO:匿名用戶可下載(NO表示可下載)
(7)anon_mkdir_write_enable=YES|NO:匿名用戶建立目錄
(8)anon_other_write_enable=YES|NO:匿名用戶刪除和重命名
(9)anon_root=目錄:匿名用戶家目錄修改
(10)anon_umask=xxx:匿名用戶上傳文件默認權限修改
(11)匿名用戶的身份修改:
    chown_uploads=YES
    chown_username=student(修改為student身份)
(12)anon_max_rate=102400:最大上傳速率
(13)max_clients=5:最大連接數


每次更改/etc/vsftpd/vsftpd.conf文件後,都需要重啟服務使更改生效:

systemctl restart vsftpd

1.建立用戶白名單:

在名單內的用戶可以登陸,其他用戶無法登錄。

(1)編輯白名單文件:
vim /etc/vsftpd/chroot_list
寫入允許登陸的用戶帳號
(2)更改配置文件:
vim /etc/vsftpd/vsftpd.conf

再文件中寫入內容:

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

2.限制本地用戶登陸

編輯黑名單文件:
vim /etc/vsftpd/ftpusers    ##用戶永久黑名單
寫入拒絕登陸的用戶帳號

或者

vim /etc/vsftpd/user_list   ##用戶臨時黑名單
寫入拒絕登陸的用戶帳號


臨時黑名單,再一定情況下它可以變成白名單,如下面所示:

3.第二種用戶白名單設定

編輯文件:vim /etc/vsftpd/vsftpd.conf
寫入內容
userlist_deny=NO        ##設定參數,此文件從臨時黑名單變成白名單,只在名單中出現的用戶可登陸ftp

4.ftp虛擬帳號身份

1.創建虛擬帳號身份

(1)編輯新建文件:

vim /etc/vsftpd/userfile(文件名任意)

寫入內容:(寫入登陸用的帳號和密碼,註意在帳號密碼之後不要有空格)

技術分享圖片
保存退出。

(2)帳號密碼文件哈希加密:

db_load -T -t hash -f /etc/vsftpd/userfile /etc/vsftpd/userfile.db

(3)新建編輯密碼驗證文件:

vim /etc/pam.d/usercheck

寫入內容:

技術分享圖片

(4)編輯ftp配置文件:vim /etc/vsftpd/vsftpd.conf
寫入內容:

技術分享圖片

(5)最後一步,重啟vsftpd服務:

systemctl restart vsftpd

經過以上設置,就可以用設定的帳號密碼登陸了。

技術分享圖片

2.給虛擬帳號指定身份(用戶組)
編輯vsftp配置文件:vim /etc/vsftpd/vsftpd.conf
寫入內容:

guwst_username=ftp  ##指定為ftp用戶組身份

重啟ftp服務。

3.虛擬帳號獨立家目錄設定

我們在根目錄下創建目錄ftphome作為虛擬用戶的的家目錄。
mkdir /ftphome

(1)編輯文件:vim /etc/vsftpd/vsftpd.conf
添加內容:

local_root=/ftphome/$USER
user_sub_token=$USER

(2)重啟ftp服務。

(3)測試:建立目錄區分虛擬帳號登陸後進入哪一個家目錄:
mkdir /ftphome/user1/user1dir -p
mkdir /ftphome/user2/user2dir -p
mkdir /ftphome/user3/user3dir -p
(這裏沒有改變這個家目錄的權限)

登陸虛擬帳號測試。
技術分享圖片
user2登陸進去能看見目錄user2dir表示user2用戶的家目錄是/ftphome/user2

技術分享圖片
user3登陸進去能看見目錄user3dir表示user3用戶的家目錄是/ftphome/user3

5.虛擬賬戶獨立權限配置

(1)新建存儲各個虛擬帳號的獨立權限的目錄:mkdir /etc/vsftpd/userconfig

(2)編輯文件:vim /etc/vsftpd/vsftpd.config
寫入內容:
user_config_dir=/etc/vsftpd/userconfig

(3)新建文件:vim /etc/vsftpd/user1(這個文件以虛擬用戶的家目錄作文件名)
寫入相關權限.例如:
技術分享圖片
保存退出,重啟fvstpd服務生效。


關於一些ftp的錯誤提示代碼:

350:認證失敗

500:權限過大

530:密碼帳號錯誤、認證策略錯誤

550:服務本身不允許操作

Linux(RadHat)基礎學習—FTP服務