1、yum–y install ftp vsftpd //安装ftp和vsftpd
2、vi/etc/vsftpd/ftpuser.txt //创建密码明文文件
ftp1
123456
ftp2
123456 //奇数行为用户账户,偶数行为密码
3、db_load–T –t hash –f /etc/vsftpd/ftpuser.txt /etc/vsftpd/ftpuser.db
//根据明文创建密码db文件
(可用:file /etc/vsftpd/ftpuser.db 查看密码数据文件)
4、mkdir/home/ftp //创建ftp根目录
mkdir/home/ftp/ftp1
mkdir/home/ftp/ftp2 //创建虚拟用户目录
5、useradd–d /home/ftp –s /sbin/nologin ftpuser //创建vsftpd的guest账户
6、chownftpuser:ftpuser /home/ftp –R //绑定宿主用户
chmod755 /home/ftp –R //分配文件夹权限,如想给多个用户分配不同的权限,此配置命令不用
7、vi/e tc/pam.d/vsftpd
auth required pam_userdb.sodb=/etc/vsftpd/ftpuser
account required pam_userdb.so db=/etc/vsftpd/ftpuser
//打开pam.d中的配置文件进行配置,把内容全部注释,添加以上两行。
8、vi/etc/vsftpd/vsftpd.conf
anonymouns_enable=YES//改为NO
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/user_conf //指定虚拟用户权限配置的目录
guest_enable=YES
guest_username=ftpuser //系统用户名
allow_writeable_chroot=YES
chroot_local_user=YES //添加修改以上内容,红色部分需手动添加
//其他权限自行选择
一些权限信息:(除了上述红色部分,其余内容可选)
# 设定支撑 vsftpd 服务的宿主用户【可不设置
nopriv_user=vsftpd
# 锁定用户目录
chroot_local_user=YES
# 禁止用户 列表功能
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES
# userlist_file 中的用户将不得使用FTP
userlist_enable=YES tcp_wrappers=YES
# 启用虚拟用户
guest_enable=YES
# 设定来宾帐户 虚拟用户的宿主用户
guest_username=guest135
pam_service_name=vsftpd
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vhost
# 监听端口,独立运行守护进程
listen=YES
# 禁止匿名
anonymous_enable=NO
# 禁止匿名上传
anon_upload_enable=NO
# 禁止匿名新建目录
anon_mkdir_write_enable=NO
# 启用本机帐户
local_enable=YES
# 允许写操作
write_enable=YES local_umask=022
# 开启 xferlog 日志
xferlog_enable=YES xferlog_file=/var/log/vsftpd.log
# 日志使用标准的记录格式 xferlog_std_format=YES
# 使用主动模式连接,启用20端口 connect_from_port_20=YES
# 设定支持异步传输功能 async_abor_enable=YES
# 禁止上传文件更改宿主 chown_uploads=NO
# 造成服务器开销巨大,关闭 ls_recurse_enable=NO ascii_upload_enable=NO ascii_download_enable=NO
9、mkdir/etc/vsftpd/user_conf
vi /etc/vsftpd/user_conf/ftp1
local_root=/home/ftp/ftp1
anon_download_enable=YES //下载权限
anon_upload_enable=YES //上传权限
anon_read_enable=YES/NO //是否只读权限
anon_mkdir_enable=YES //是否创建文件权限
anon_other_writeable=YES //是否重命名、删除文件
local_umask=022 //可写权限
(可以去掉开头的anon,加上anonymous_enable=NO,区别就是可以匿名或者不匿名一般选后者)
vi /etc/vsftpd/user_conf/ftp2
//…….等同ftp1
//创建并配置用户权限文件,权限内容可酌情添加,文件名需跟用户 名一样
(mount – bind /home/ftp /mnt/sda1/ //可选:为了ftp有更多内存,可以把ftp目录挂载到硬盘上)
10、systemctlenable vsftpd.service //开机自启,可选
systemctl start/restart vsftpd.service //启动vsftpd
systemctl status vsftpd.service //查看vsftpd运行状态(这个很重要,可以帮助排错)
11、关闭或者修改防火墙、SELinux
systemctl stop/startfirewall.service //关闭/开启防火墙
systemctl disable firewalld.service //禁止防火墙开机自启
或firewall-cmd--permanent --zone=public --add-service=ftp
firewall-cmd --reload //添加ftp服务
setenforce 0/1 //关闭/开启SELinux
或 进vi/etc/selinux/config //把enable改为disable 其他行注释
12、测试
ftplocalhost
或在windows中使用ftp://+ip地址 登录 (关闭防火墙)
备注:以上是便是本人对vsftpd用户配置的一些心得,分享出来希望对大家有用。
附上网卡配置参考
cd /etc/sysconfig/network-scripts/ #进入网络配置文件目录 vi ifcfg-eno16777736 #编辑配置文件,添加修改以下内容
HWADDR=00:0C:29:8D:34:63
TYPE=Ethernet
BOOTPROTO=static //静态配置ip
DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=eno16777736 UUID=ae0965e7-22b9-45aa-8ec9-3f0a20a85d11
ONBOOT=yes #开启自动启用网络连接
IPADDR0=192.168.21.128 #设置IP地址
PREFIXO0=24 #设置子网掩码
GATEWAY0=192.168.21.2 #设置网关
DNS1=8.8.8.8 #设置主DNS
DNS2=8.8.4.4 #设置备DNS
:wq! #保存退出
service networkrestart #重启网络
ping www.linuxidc.com #测试网络是否正常
ip addr #查看IP地址
设置主机名为www hostname www #设置主机名为www
vi /etc/hostname #编辑配置文件www #修改localhost.localdomain为www:wq! #保存退出
vi /etc/hosts #编辑配置文件127.0.0.1 localhost www #修改localhost.localdomain为www:wq! #保存退出
shutdown -r now #重启系统