下面主要是说明如何在centos下面配置一个ftp服务器,我找了几个教程,每个教程都有各自的优点,我就结合了他们的文章和我自己的实践总结出一篇更好的文章,作为备忘啦,参考文章将在末尾给出,如有侵权,请联系我,谢谢!
vsftpd是linux下的一款小巧轻快,安全易用的FTP服务器软件,是一款在各个Linux发行版中最受推崇的FTP服务器软件。毫无疑问,我也选择了它。
本文测试环境
- CentOS 7
- 测试服务器IP 192.168.0.186
1.安装并启动 FTP 服务
1.1. 安装 VSFTPD
使用 yum 安装 vsftpd
代码语言:javascript复制yum install -y vsftpd
1.2. 启动 VSFTPD
安装完成后,启动 FTP 服务:
代码语言:javascript复制service vsftpd start
启动后,可以看到系统已经监听了 21 端口:
代码语言:javascript复制netstat -nltp | grep 21
此时,访问 ftp://192.168.0.186 可浏览机器上的 /var/ftp目录了。
2.配置 FTP 权限
2.1. 了解 VSFTP 配置
vsftpd 的配置目录为 /etc/vsftpd,包含下列的配置文件:
代码语言:javascript复制vsftpd.conf -- 为主要配置文件
ftpusers -- 黑名单,配置禁止访问 FTP 服务器的用户列表
user_list -- 白名单,配置用户访问控制
2.2 阻止匿名访问和切换根目录
匿名访问和切换根目录都会给服务器带来安全风险,我们把这两个功能关闭。
编辑 /etc/vsftpd/vsftpd.conf,找到下面两处配置并修改:
禁用匿名用户 – YES 改为NO
anonymous_enable=NO
禁止切换根目录 打开注释,删除注释符号“#”
代码语言:javascript复制# chroot_local_user=YES
禁止ftp用户跳出自己的根目录
编辑完成后保存配置,重新启动 FTP 服务
代码语言:javascript复制service vsftpd restart
2.3 创建 FTP 用户
创建一个用户 ftpuser
代码语言:javascript复制useradd -s /sbin/nologin -g ftp -d /var/www/html ftpuser
-s /sbin/nologin 限制用户只能连接FTP,无法登录系统
-g ftp 将用户加入到ftp组(vsftpd已创建)
-d /var/www/html 根目录限制在/var/www/html
ftpuser FTP用户名
执行该命令后,如果出现这样的错误提示:
代码语言:javascript复制useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
这说明目录(/var/www/html)已经存在,不可再新建此目录,并非添加用户失败,可以忽略。
为用户 ftpuser 设置密码
代码语言:javascript复制passwd ftpuser
提示:重复输入2次
2.4 修改目录权限
代码语言:javascript复制chown -R myftp /var/www/html
递归把所有目录及文件的拥有者设为新添加的ftp用户
代码语言:javascript复制chmod -R 755 /var/www
递归地设置拥护者全部权限,其他用户只有读取和执行权限
2.5. 重启vsftpd服务
代码语言:javascript复制service vsftpd restart
3. 配置防火墙(放开端口 21 )
参考iptables设置方法,这里不再展开
4. 访问FTP
根据您个人的工作环境,选择一种方式来访问已经搭建的 FTP 服务
- 通过 Windows 资源管理器访问
Windows用户可以到资源管理器的地址栏输入以下地址进行访问:
ftp://ftpuser:password@192.168.0.186
- 通过 FTP 客户端工具访问
WinSCP – Windows 下的 FTP 和 SFTP 连接客户端
FlashFXP – Windows 下的一款优秀的FXP和FTP链接客户端
FileZilla – 跨平台的 FTP 客户端,支持 Windows 和 M
特别提示
- ftp根目录不能赋予ftp用户写权限,否则将无法连接例如,假设:
- 有目录/var/ftp,所有者(u)为root,所属组(g)为root
- 有ftp用户,名为myftp,所属组ftpusers,限制根目录/var/ftp
那么ftp目录的权限最高只能设置到755,即 drwxr-xr-x root root,但其下的目录如/var/ftp/www是可以赋予777权限的
参考文章:
https://www.linuxidc.com/[Linux](https://www.yiiven.cn/tag/linux/)/2017-11/148518.htm
https://www.jb51.net/os/RedHat/105909.html
本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
原文出处:Yiiven https://cloud.tencent.com/developer/article/2193129