yum install vsftpd
出现“Complete!”时意味着安装完成。
安装完之后我们要对它进行配置,才能正常使用。
编辑vsftpd的配置文件/etc/vsftpd/vsftpd.conf
在配置文件中找到“anonymous_enable=YES”,将"YES"改为"No",将匿名登录禁用。
读取生效配置:cat /etc/vsftpd/vsftpd.conf |grep ^[^#]
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
启动vsftpd服务。service vsftpd start
添加开机自动启动,chkconfig vsftpd on
不确定是否已经加入了开机启动项可以运行chkconfig –list进行查看
设置FTP用户账号。设置成功后,即可通过该账号登录FTP服务器。
(1)设置FTP用户的账号,例如账号为“ftpuser1”,目录为/home/ftpuser1,且设置不允许通过ssh登录。
useradd -d /home/ftpuser1 -s /sbin/nologin ftpuser1
(2)设置账号对应的密码,例如密码为“ftpuser1”。
passwd ftpuser1
修改vsftpd的pam配置,使用户可以通过自己设置的FTP用户帐号和密码连接到云服务器。
(1)修改pam。
vi /etc/pam.d/vsftpd
内容修改为:
#%PAM-1.0
auth required /lib64/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth required /lib64/security/pam_unix.so shadow nullok
auth required /lib64/security/pam_shells.so
account required /lib64/security/pam_unix.so
session required /lib64/security/pam_unix.so
(2)确认修改后的文件是否正确。
[root@VM_250_202_tlinux ~]# cat /etc/pam.d/vsftpd #%PAM-1.0
auth required /lib64/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth required /lib64/security/pam_unix.so shadow nullok
auth required /lib64/security/pam_shells.so
account required /lib64/security/pam_unix.so
session required /lib64/security/pam_unix.so
(3)重启vsftpd服务,使修改生效。
service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
在vsftpd服务器的默认设置中,本地用户可以切换到主目录以外的目录进行浏览访问,这样对于服务器来说是不太安全的,因为任何用户可以随时浏览到别的用户的私有信息,下面介绍如何使用chroot选项来防止这种情况的发生。
与该功能相关的选项主要包括:
chroot_local_user
chroot_list_enable
chroot_list_file
可以通过如下两种方法来设置chroot,从而杜绝上述不安全的情况发生:
(1)设置所有的本地用户执行chroot,只要将/etc/vsftpd/vsftpd.con文件中的chroot_local_ user值置为YES,即chroot_local_user=YES。
(2)设置指定的用户执行chroot,按照如下方法进行设置:
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
设置后,只有/etc/vsftpd.chroot_list文件中指定的用户才能够执行chroot命令。
在使用FTP服务的过程中,可以使该服务在非标准端口(非21端口)工作,不过要完成这项工作,须要使vsftpd服务器运行在独立启动方式下,而且要配置vsftpd的主配置文件/etc/vsftpd/vsftpd.conf,将listen_port=10003或者是其他端口号的选项加入该文件即可,然后要重新启动vsftpd守护进程:
service vsftpd restart