vsftpd是一款在Linux發(fā)行版中最受推崇的FTP服務器程序。特點是小巧輕快,安全易用,下面直接上干貨。 一、安裝vsftp 以管理員的身份使用yum命令安裝vsftp: [root@localhost ~]#yum install vsftpd 根據(jù)系統(tǒng)yum的不同,可能無法找到軟件包源,可以按照這里的方法解決 二、設置vsftp開機自動啟動 1、查看開機自動啟動服務項目 [root@localhost ~]# chkconfig --list 2、設置vsftpd服務開機自動啟動 [root@localhost ~]# chkconfig --level 35 vsftpd on 三、配置環(huán)境 1、添加vsftp賬號,指定賬號權限 ■ 添加ftp賬號www,指定/home/www為www的宿主目錄,該賬戶號默認不能登陸系統(tǒng)。 [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參數(shù):遞歸設置/home/www目錄及期子目錄的所有者為用戶www。 2、配置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用戶不會鎖定在主目錄,用戶將可以自由切換目錄。 舉例: 情況一: 現(xiàn)在有 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 ) 3、修改shells配置 編輯shell的配置文件/etc/shells,如果文件中沒有/sbin/nologin或者usr/sbin/nologin,在文件中追加該上即可。 4、配置防火墻 編輯/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停止防止墻服務 六、啟動vsftp并測試登陸 啟動vsftp服務 [root@localhost ~]# service vsftpd start #其它命令:service vsftpd restart重啟FTP服務、service vsftpd stop停止FTP服務 服務成功啟動后,用FTP客戶端登陸即可(推薦使用Xshell ),ftpadmin管理目錄是/www/web。 七、錯誤處理 1、500 OOPS: cannot change directory:/home/www 該錯誤原因是在CentOS系統(tǒng)下默認安裝了SELinux,沒有開啟FTP支持,所以訪問時都被阻止了,需要手動開啟。 [root@localhost ~]# getsebool -a|grep ftp #查看所有ftp設置 [root@localhost ~]# setsebool ftp_home_dir 1 #setsebool -P ftp_home_dir 1 使用P參數(shù)實現(xiàn)重啟后ftp_home_dir自動為1
|
|
來自: 昵稱27831725 > 《Linux筆記》