centosFTP服務搭建及權限配置
引用一個其他大佬對vsftpd的描述:
vsftpd 是“very secure FTP daemon”的縮寫,安全性是它的一個最大的特點。
vsftpd 是一個 UNIX 類操作系統上運行的服務器的名字,它可以運行在諸如 Linux、BSD、Solaris、 HP-UNIX等系統上面,是一個完全免費的、開放源代碼的ftp服務器軟件,支持很多其他的 FTP 服務器所不支持的特征。
比如:非常高的安全性需求、帶寬限制、良好的可伸縮性、可創建虛擬用戶、支持IPv6、速率高等。
vsftpd是一款在Linux發行版中最受推崇的FTP服務器程序。特點是小巧輕快,安全易用。
安裝只需要一句命令就可以:
yum install vsftpd -y
vsftpd默認安裝目錄
# which vsftpd
/usr/sbin/vsftpd
安裝目錄中跟配置相關的文件
---ftpusers // 指定哪些用戶不能訪問FTP服務器
---user_list // 指定是否可以訪問ftp服務器的用戶列表,具體是否可以訪問由vsfpd.conf這種的userlist_deny決定
---vsftpd.conf // 主配置文件
ftpusers中的名單配置默認是生效的。一般ftpusers中已經定義好一些系統中重要的用戶,這些用戶不允許訪問FTP服務器。
vsftpd.conf是主配置之文件,其中文件底部的userlist_enable決定user_list文件是否起作用userlist_file的值指的是當userlist_enable=YES時具體起作用的user_list路徑。當userlist_enable=YES開啟時user_list中的用戶是可以訪問FTP還是不可以訪問FTP由userlist_deny的值決定。如:
1.user_enable=YES、userlist_deny=NO表示user_list文件中的用戶允許訪問FTP
2.user_enable=YES、userlist_deny=YES表示user_list文件中的用戶不允許訪問FTP
至此就可以基本配置哪些用戶可以連接FTP服務器,基本可以使用。
默認情況下所有允許連接到FTP的用戶登錄服務器時都是可以自由切換目錄甚至是切換到根目錄的。如果需要限制某些用戶連接FTP的時候只能限制在自己的主目錄則需要配置vsftpd.conf文件中的chroot_系列參數:
---chroot_list_enable //設置是否啟用chroot_系列參數 YES-開啟 NO-關閉
---chroot_local_user //是否將用戶限制在主目錄中 YES-指定名單中的用戶可以任意切換目錄 NO-指定名單中的用戶不可以任意切換目錄
---chroot_list_file //要限制的用戶列表文件所在的路徑,這個文件默認是沒有的,需要自己創建
service vsftpd start //啟動服務
service vsftpd stop //停止服務
service vsftpd restart //重啟服務
另外vsftpd配置好chroot_系列的數據後也有可能有鏈接不上或者其他切換不到目錄的問題。這可能是因為SELinux開啟了的原因。這個東西具體沒有深入研究,據說是為了加強Linux系統的訪問控制的。
SELinux的配置文件在/etc/selinux/config。
# vi /etc/selinux/config //編輯配置
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=1 #selinux是否開啟 1-開啟 enable-開啟 0-關閉 disabled-關閉
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
# getsebool -a| grep ftp #查看selinux中關於ftp的配置值 ftpd_anon_write --> off ftpd_connect_all_unreserved --> off ftpd_connect_db --> off ftpd_full_access --> off #這個設置影響了ftp正常配置的啟用狀況 ftpd_use_cifs --> off ftpd_use_fusefs --> off ftpd_use_nfs --> off ftpd_use_passive_mode --> off httpd_can_connect_ftp --> off httpd_enable_ftp_server --> off tftp_anon_write --> off tftp_home_dir --> off
#setsebool allow_ftpd_full_access on # 設置ftpd獲取全部權限,將ftpd_full_access設置為啟用
關於selinux的設置,每設置一次都需要重啟系統才可以生效。
至此VSFTPD已經可以正常使用!
相關鏈接:
https://www.cnblogs.com/zhjh256/p/9155281.html
centosFTP服務搭建及權限配置