时间:2023年02月09日 16:14:26点击:353类别:技术开发
下面主要是说明如何在centos下面配置一个ftp服务器,我找了几个教程,每个教程都有各自的优点,我就结合了他们的文章和我自己的实践总结出一篇更好的文章,作为备忘啦,参考文章将在末尾给出,如有侵权,请联系我,谢谢!
vsftpd是linux下的一款小巧轻快,安全易用的FTP服务器软件,是一款在各个Linux发行版中最受推崇的FTP服务器软件。毫无疑问,我也选择了它。
本文测试环境
使用 yum 安装 vsftpd
yum install -y vsftpd
安装完成后,启动 FTP 服务:
service vsftpd start
启动后,可以看到系统已经监听了 21 端口:
netstat -nltp | grep 21
此时,访问 ftp://192.168.0.186 可浏览机器上的 /var/ftp目录了。
vsftpd 的配置目录为 /etc/vsftpd,包含下列的配置文件:
vsftpd.conf -- 为主要配置文件
ftpusers -- 黑名单,配置禁止访问 FTP 服务器的用户列表
user_list -- 白名单,配置用户访问控制
匿名访问和切换根目录都会给服务器带来安全风险,我们把这两个功能关闭。
编辑 /etc/vsftpd/vsftpd.conf,找到下面两处配置并修改:
禁用匿名用户 – YES 改为NO
anonymous_enable=NO
禁止切换根目录 打开注释,删除注释符号“#”
# chroot_local_user=YES
禁止ftp用户跳出自己的根目录
编辑完成后保存配置,重新启动 FTP 服务
service vsftpd restart
创建一个用户 ftpuser
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用户名
执行该命令后,如果出现这样的错误提示:
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
这说明目录(/var/www/html)已经存在,不可再新建此目录,并非添加用户失败,可以忽略。
为用户 ftpuser 设置密码
passwd ftpuser
提示:重复输入2次
chown -R myftp /var/www/html
递归把所有目录及文件的拥有者设为新添加的ftp用户
chmod -R 755 /var/www
递归地设置拥护者全部权限,其他用户只有读取和执行权限
service vsftpd restart
参考iptables设置方法,这里不再展开
根据您个人的工作环境,选择一种方式来访问已经搭建的 FTP 服务
Windows用户可以到资源管理器的地址栏输入以下地址进行访问: ftp://ftpuser:password@192.168.0.186
WinSCP – Windows 下的 FTP 和 SFTP 连接客户端 FlashFXP – Windows 下的一款优秀的FXP和FTP链接客户端 FileZilla – 跨平台的 FTP 客户端,支持 Windows 和 M
那么ftp目录的权限最高只能设置到755,即 drwxr-xr-x root root,但其下的目录如/var/ftp/www是可以赋予777权限的
参考文章:
https://www.linuxidc.com/Linux/2017-11/148518.htm
https://www.jb51.net/os/RedHat/105909.html
出现
FileZilla:不安全服务器,不支持 FTP over TLS-百度经验 (baidu.com)
楼主低端人口9527
喜欢:(353) 回复:(1)
以下为回复内容
1#楼的低端人口9527于2024年02月18日 16:49:09回复道:
curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python2.7 get-pip.py