【Linux筆記】CentOS yum 安裝 vsftpd

vsftpd是一款在Linux發行版中最受推崇的FTP服務器程序。特色是小巧輕快,安全易用,下面直接上乾貨。html

1、安裝vsftpweb

以管理員的身份使用yum命令安裝vsftp:shell

[root@localhost ~]#yum install vsftpd安全

根據系統yum的不一樣,可能沒法找到軟件包源,能夠按照這裏的方法解決服務器

2、設置vsftp開機自動啓動tcp

一、查看開機自動啓動服務項目測試

[root@localhost ~]# chkconfig --listthis

二、設置vsftpd服務開機自動啓動spa

[root@localhost ~]# chkconfig --level 35 vsftpd on.net

3、配置環境

一、添加vsftp帳號,指定帳號權限

■ 添加ftp帳號www,指定/home/www爲www的宿主目錄,該帳戶號默認不能登錄系統。

[root@localhost ~]# useradd -s /bin/nologin -d /home/www www  #nologin的位置一般在/usr/sbin/nologin或/sbin/nologin位置,若是指定錯誤則沒法登錄。

■ 修改帳號密碼。

[root@localhost ~]# passwd www

■ 修改指定目錄權限。

[root@localhost ~]# chown -R www /home/www  #-R參數:遞歸設置/home/www目錄及期子目錄的全部者爲用戶www。

二、配置vsftp

編輯vsftp的配置文件/etc/vsftpd/vsftpd.conf,修改配置文件相關配置項,以下:

anonymous_enable=NO  #不容許匿名登錄

ascii_upload_enable=YES #上傳時容許ASCII模式

ascii_download_enable=YES #下載時容許ASCII模式 

local_enable=YES  #容許本地用戶登陸ftp服務器,默認是容許,不包含id爲500如下用戶陸 

write_enable=YES  #容許用戶具備在ftp服務器文件中具備寫的權限

chroot_local_user=YES  ##是否將全部用戶鎖定在主目錄,YES爲啓用 NO禁用

chroot_list_enable=YES  #是否啓動鎖定用戶的名單,YES爲啓用 NO禁用

chroot_list_file=/etc/vsftpd/chroot_list  #當chroot_list_enable=YES時,該項有效,禁用的列表名單格式爲一行一個用戶, 若是名單裏面有一個test01的用戶, 則test01用戶不會鎖定在主目錄,用戶將能夠自由切換目錄。 

舉例:

狀況一:

如今有 test1 test2 test3 這三個ftp的用戶,想讓1跟2用戶鎖定主目錄不容許切換到其餘目錄, 可是容許3用戶自由切換那麼/etc/vsftpd/chroot_list列表名單以下:

test3

也就說chroot_local_user=YES,而且chroot_list_enable=YES的時候,/etc/vsftpd/chroot_list名單裏面添加的是排除鎖定主目錄的用戶名單。

狀況二:

若是chroot_local_user=NO而且chroot_list_enable=YES的時候,那麼/etc/vsftpd/chroot_list列表名單以下:

test1

test2

狀況三:

若是chroot_local_user=YES 而且 chroot_list_enable=NO 的時候那列表名單也就不生效了,所以知足上面的條件時,全部的FTP用戶將所有鎖定在主目錄。

ls_recurse_enable=YES  #啓用遞歸

listen=YES  #使用IPV4時設置爲YES

listen_ipv6=NO   #使用IPV6時設置爲YES

local_root=/data/ftproot    #指定根目錄,若是未指定,用戶的宿主目錄將做爲FTP主目錄

use_localtime=YES  # use localtime

seccomp_sandbox=NO     #turn off for seccomp filter ( if you cannot login, add this line )

三、修改shells配置

編輯shell的配置文件/etc/shells,若是文件中沒有/sbin/nologin或者usr/sbin/nologin,在文件中追加該上便可。

四、配置防火牆

編輯/etc/sysconfig/iptables文件,在REJECT行以前添加以下命令:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT  #從上一行中進行復制粘貼後修改端口號爲21便可

添加後保存,而後重啓防火牆服務。

[root@localhost ~]# service iptables restart  #其它命令:service iptables stop中止防止牆服務

6、啓動vsftp並測試登錄

啓動vsftp服務

[root@localhost ~]# service vsftpd start #其它命令:service vsftpd restart重啓FTP服務、service vsftpd stop中止FTP服務

服務成功啓動後,用FTP客戶端登錄便可(推薦使用Xshell ),ftpadmin管理目錄是/www/web。

7、錯誤處理

一、500 OOPS: cannot change directory:/home/www

該錯誤緣由是在CentOS系統下默認安裝了SELinux,沒有開啓FTP支持,因此訪問時都被阻止了,須要手動開啓。

[root@localhost ~]# getsebool -a|grep ftp   #查看全部ftp設置

[root@localhost ~]# setsebool ftp_home_dir 1  #setsebool -P ftp_home_dir 1 使用P參數實現重啓後ftp_home_dir自動爲1

相關文章
相關標籤/搜索