Linux(RadHat)基礎學習—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服務