1. 程式人生 > >centosFTP服務搭建及權限配置

centosFTP服務搭建及權限配置

相關鏈接 研究 sebool 開放 use restart daemon 安全 參數

  引用一個其他大佬對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服務搭建及權限配置