Linux上vsftpd的配置
最近正好项目遇上需要配置ftp的情况,感觉对于ftp的配置都差不多,所以特意写下本篇博客,话不多说,直接动手。
配置最终目的如下: 1.取消匿名登陆,必须账号密码登陆 2.只有配置文件中的用户允许登陆 3.所有用户登陆后访问相同的ftp环境 4.所有用户不能够切换到上级目录
新建用户
新建一个不能ssh登陆的用户,作为我们的ftp的访问用户(不用root)
1useradd ftp_user -d /home/ftp_user -s /sbin/nologin ftp_user --新建用户 ftp_user并且主目录为/home/ftp_user
2chmod -R 755 /home/ftp_user --修改该目录访问权限
3passwd ftp_user --设置该账号密码
安装配置vsftpd
1yum -y install vsftpd --安装
2cd /etc/vsftpd --切换到vsftp目录下
3mv vsftpd.conf vsftpd.conf.bak --备份原来的配置文件
4wget http://resource.jsbintask.cn/vsftpd/vsftpd.conf --获取配置文件
改配置文件已经做好了大多数的配置,如下:
vsftpd
接下来编辑改配置文件,vim vsftpd.conf,在最下方加入我们一开始配置用户设置的主文件夹:
1local_root=/home/ftp_user
接下来编辑ftpusers,删除所有配置,空文件就行(该文件是哪些用户不能访问)
编辑user_list(该文件控制哪些用户可以登录ftp),加入我们刚刚添加的用户ftp_user,删掉其他所有行数,例如:
vsftpd
只有用户jason和root可以登录。
启动
1service vsftpd start
如果启动过程中报错,重新编辑vsftp.conf,注释掉 改行(这是vsftpd2.3以后的新配置):
vsftpd
重新启动,成功。
接下来使用ftp工具连接即可
问题解决:
- 关闭防火墙或者开启如下端口 20, 21(ftp), 61001-62000范围端口。
- 2.
1wget http://resource.jsbintask.cn/vsftpd/config.sh
运行 config.sh,如果运行失败,请修改脚本中的 setsebool -P tftp_home_dir 1 为 setsebool -P ftp_home_dir 1
- 编辑安全配置文件 vim /etc/sysconfig/selinux,SELINUX=enforcing 改为 SELINUX=disabled
再次访问,成功。
更多文章请关注公众号(jsbintask)
本文原创地址,我的博客:https://jsbintask.cn/2019/01/11/linux/linux-vsftpd-config/,未经允许,禁止转载!