首先用管理员身份进入系统,在终端上输入"setup",进入控制台,选择system services,然后选择"vsftpd"即可。
vsftpd服务器的配置文件为/etc/vsftpd.conf,其配置选项比较多,在此我只选择几个常用的配置选项介绍。
1.禁止匿名用户访问。
anonymous_enable=NO
2.允许本地用户登录并允许其上传文件。
local_enable=YES
write_enable=YES
要使上述选项生效,必须复制一个pam验证文件到/etc/pam.d,并改名为ftp。当然也可以改为其他名称,但必须修改pam_service_name的值,默认为ftp。
3.将本地用户锁定在主目录中,不允许切换到上一级目录中。
chroot_local_user=YES
4.禁止某些用户通过ftp登录服务器。
如果设置了local_enable=YES,那么所有的用户包括root也能通过ftp登录服务器,出于安全考虑,需要对某些用户进行限制。
在vsftpd.conf中有三个选项控制:
userlist_deny=YES/NO
userlist_enalbe=YES
userlist_file=/etc/vsftpd.user_list
如果userlist_deny=YES,/etc/vsftpd.user_list中列出的用户名就不允许登录ftp服务器;如果userlist_deny=NO,/etc/vsftpd.user_list中列出的用户名允许登录ftp服务器。
我们只要在/etc目录下创建vsftpd.user_list文件,文件内容为允许登录或禁止登录的用户名,每个用户占一行。
5.禁止用户通过FTP修改文件或文件夹的权限。
chmod_enable=NO(默认值为YES)
6.设置本地用户上传的文件或文件夹的umask值。
local_umask=022(默认值为077)
umask的值设为022表示,上传的如果是文件将权限改为644,如果是文件夹将权限改为755。在上传网页时,如果设置为077,就会出现用户没有权限(Permission denied)访问网页的问题,所以建议将umask的值设为022。
7.添加一个只能从ftp登录服务器,而不能从本地登录的用户。
以下创建一个用户ftpuser,不允许从本地登录,并创建该用户的密码。
[root@localhost root]# useradd ?g ftp ?s /sbin/nologin ftpuser
[root@localhost root]# passwd ftpuser
Changing password for user ftpuser.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
8.让vsftp服务器限制总的连接数以及每个IP最大的连接数。
#最多同时允许100个客户连接
max_clients=100
#每个ip地址最多允许开3个线程
max_per_ip=3
vsftpd的配置文件中有很多选项,但个人认为,如果是架设一个简单的ftp服务器,以上选项就足够了。