yum install -y pam pam-devel db4 de4-devel db4-uitls db4-tcl
yum install -y vsftpd
rpm -ivh vsftpd-3.0.2-22.el7.x86_64.rpm //安装vsftpd rpm -ivh pam-1.1.8-18.el7.x86_64.rpm pam-devel-1.1.8-18.el7.x86_64.rpm //安装PAM注:需要关闭selinux。
vsftpd配置文件:/etc/vsftpd/vsftpd.conf
anonymous_enable=NO //禁止匿名用户登录 anon_upload_enable=NO //禁止匿名用户上传 anon_mkdir_write_enable=NO //禁止匿名用户创建目录 pasv_enable=YES //开启被动模式 pasv_min_port=3000 //最小端口号 pasv_max_port=4000 //最大端口号
mkdir /ftp
useradd -d /ftp/user1 -g ftp -s /sbin/nologin user1
systemctl restart vsftpd
systemctl enable vsftpd
useradd -d /ftp/ -g ftp -s /sbin/nologin vsftpd
chmod 700 /ftp
mkdir /etc/vsftpd/vconf
anonymous_enable=NO //禁止匿名用户登录 anon_upload_enable=NO //禁止匿名用户上传 anon_mkdir_write_enable=NO //禁止匿名用户创建目录 write_enable=YES //允许写操作 local_umask=022 //上传文件后掩码 chroot_local_user=YES //锁定用户在主目录 chroot_list_enable=NO //禁止用户登出自己的目录 chroot_list_file=/etc/vsftpd/chroot_list //设定宿主用户文件 async_abor_enable=YES //开启异步传输 userlist_enable=YES //设定userlist_file中的用户不能使用ftp tcp_wrappers=YES //设定支持TCP Wrappers #主动模式 port_enable=YES //开启主动模式 connect_from_port_20=YES //主动模式连接使用20端口 ftp_data_port=20 //自定义ftp数据传输端口(可选) #被动模式 pasv_enable=YES //开启被动模式 port_promiscuous=YES //禁用端口安全检查 pasv_address=192.168.10.10 //被动模式地址 #pasv_min_port=3000 //最小端口号 #pasv_max_port=4000 //最大端口号 #虚拟用户 guest_enable=YES //开启虚拟用户 guest_username=vsftpd //虚拟用户使用的宿主用户 pam_service_name=vsftpd //开启pam virtual_use_local_privs=NO //不使用宿主账户相同权限 allow_writeable_chroot=YES //允许用户目录可写 user_config_dir=/etc/vsftpd/vconf //用户配置文件目录
vi /etc/vsftpd/chroot_list
vsftpd
vi /etc/vsftpd/vuser.txt
aaa 111111 bbb 222222
db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
vi /etc/pam.d/vsftpd
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
mkdir /ftp/aaa
chown vsftpd.vsftpd /ftp/aaa chmod 700 /ftp/aaa编辑虚拟用户配置文件,这里以用户aaa为例:
local_root=/home/ftp/aaa //设定用户主目录 anon_world_readable_only=NO //允许下载 anon_upload_enable=YES //允许上传 anon_mkdir_write_enable=YES //允许创建目录 anon_other_write_enable=YES //允许删除和重命名 anon_umask=022 //文件目录掩码
systemctl start vsftpd