2. 配置vsftpd
2.1 创建用户,指定根目录以及禁止登录
useradd -d /data/ftp -s /sbin/nologin vftpuser
2.2 配置基本信息,修改vsftpd.conf文件
vi /etc/vsftpd/vsftpd.conf
注意,等号“=”两边不能有空格
#1.与匿名用户相关的信息,允许匿名用户登录,并且允许列举以及切换目录 anonymous_enable=YES anon_world_readable_only=NO #2.与实体用户相关的信息 #可写入,且新增目录、文件权限为775 local_enable=YES local_umask=002 write_enable=YES chroot_local_user=YES #虚拟账户设置 guest_enable=YES guest_username=vftpuser pam_service_name=vsftpd user_config_dir=/etc/vsftpd/vsftpd_user_conf #3.与主机有关的设置 use_localtime=YES dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES pam_service_name=vsftpd listen=YES tcp_wrappers=YES banner_file=/etc/vsftpd/welcome.txt local_root=/data/ftp anon_root=/data/ftp #限制下载带宽,单位是Bytes/s local_max_rate=100000 #限制最大上线人数与同一IP的来源数 max_clients=100 max_per_ip=5
2.3 新建虚拟用户
新建用户文件 vftpuser.txt(奇数行是用户名,偶数行是密码),然后使用db_load命令转化为用户认证数据库文件
vi /etc/vsftpd/vftpuser.txt db_load -T -t hash -f vftpuser.txt vftpuser.db
用户文件示例
superadmin 7654321 admin 654321 test 123456
2.4 修改pam.d中vsftpd的相关配置
vi /etc/pam.d/vsftpd
如果系统不是64位的,需要把lib64修改为lib
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser
2.5 修改虚拟用户配置
mkdir /etc/vsftpd/vsftpd_user_conf vi /etc/vsftpd/vsftpd_user_conf/admin
如admin用户的特殊配置如下:
#开放写权限 write_enable=YES #开放下载权限 anon_world_readable_only=NO #开放上传权限 anon_upload_enable=YES #开放创建目录的权限 anon_mkdir_write_enable=YES #开放删除和重命名的权限 anon_other_write_enable=YES #指定用户的根目录 local_root=/data/ftp/html
然后也可以修改下superadmin和test用户的权限,分别编辑/etc/vsftpd/vsftpd_user_conf/superadmin文件和/etc/vsftpd/vsftpd_user_conf/test文件即可
2.6 修改/data/ftp目录的权限,注意不能是777,vsftp会禁止匿名用户访问777目录的权限(为了安全起见)
chmod -R 755 /data/ftp
3.重启vsftpd
service vsftpd restart