一、關閉 sellinux
查看SELinux狀態:
1、/usr/sbin/sestatus -v ##如果SELinux status參數爲enabled即爲開啓狀態SELinux status: enabled
關閉SELinux:
1、臨時關閉(不用重啓機器):
setenforce 0 ##設置SELinux 成爲permissive模式
##setenforce 1 設置SELinux 成爲enforcing模式
2、修改配置文件需要重啓機器:
修改/etc/selinux/config 文件
將SELINUX=enforcing改爲SELINUX=disabled
重啓機器即可,不關閉SELinux 會出些亂七八糟的問題,例如530 login incorrect,路徑轉換失敗,文件夾不顯示,無法上傳的問題。暫時沒研究如何設置SELinux,乾脆關閉了事。
二、防火牆增加端口配置
vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 30000:30999 -j ACCEPT
重啓防火牆
三、安裝vsftpd
yum –y install vsftpd
systemctl start vsftpd
vi /etc/vsftpd/vsftpd.conf
添加
allow_writeable_chroot=YES
pasv_min_port=30000
pasv_max_port=30999
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user1_list
修改:
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
chroot_list_enable=YES(這行可以沒有, 也可以有)
chroot_list_file=/etc/vsftpd/chroot_list
那麼, 凡是加在文件chroot_list中的用戶都是不受限止的用戶
即, 可以瀏覽其主目錄的上級目錄.
注:
所以, 如果不希望某用戶能夠瀏覽其主目錄上級目錄中的內容,可以如上設置, 然後在
文件chroot_list中不添加該用戶即可(此時, 在該文件中的用戶都是可以瀏覽其主目錄之外的目錄的).
或者, 設置如下
chroot_local_user=NO
chroot_list_enable=YES(這行必須要有, 否則文件vsftpd.chroot_list不會起作用)
chroot_list_file=/etc/vsftpd/chroot_list
然後把所有不希望有這種瀏覽其主目錄之上的各目錄權限的用戶添加到文件chroot_list(此時, 在該文件中的用戶都是不可以瀏覽其主目錄之外的目錄的)
中即可(一行一個用戶名)
四建立FTP賬戶
首先自己建個FTP目錄,或者選定已經存在的目錄
再建FTP賬戶,同時設置主目錄只允許FTP,不允許系統登錄
useradd username -s/sbin/nologin –d /var/www/html/
vi /etc/passwd 可以看到新建的賬號
passwd username 設置密碼
vi /etc/passwd 看下結果是否正確
usermod -d /new/home_dir -U username 命令就可以更改用戶的宿主目錄
設置目錄權限
chmod –R 755 /FTP修改FTP目錄及子目錄權限
修改所屬用戶
chown gamer gstore 改變gstore目錄
chown -R gamer gstore 改變gstore目錄及子目錄
修改所屬用戶組
chown :ftp gstore 改變gstore目錄
chown -R :ftp gstore 改變gstore目錄及子目錄
將username 加到user1_list文件