本文主要是介绍Linux搭建ftp服务器的步骤,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧...
ftp搭建
环境准备:一台Centos7.9服务器,可以联通外网。
1:下载vsftpd工具
#前置条件 systemctl stop firewalld setenforce 0 #开始下载 yum install vsftpd -y rpm -qi vsftpd systemctl start vsftpd netstat -anpt |grep vsftpd #默认端口为21
2:下载客户端工具
yum install ftp lftp -y
3:进入配置文件目录
[root@ftp vsftpd]# ll 总用量 24 -rw-r--r-- 1 root root 6 8月 15 15:20 chroot_list #这里是后期新创建的,后续会说是做什么的 -rw------- 1 root root 125 6月 10 2021 ftpusers #黑名单 -rw------- 1 root root 361 6月 10 2021 user_list #黑名单或白名单 -rw------- 1 root root 5411 8月 15 15:51 vsftpd.conf #著配置文件目录 -rwxr--r-- 1 root root 338 6月 10 2021 vsftpd_conf_migrate.sh
vsftpd.conf配置文件
是否允许匿名用户ftp登录,YES代表允许,NO不允许 anonymous_enable=YES
是否允许本地登录 local_enable=YES
是否有写的权利 write_enable=YES
日志文件位置 xferlog_file=/var/log/xferlog 采用标准的日志格式
4: 限制用户只能在自己的家目录访问
如果让普通用户可以随便切换目录的话及其不安php全
所以一般可以修改配置文件将用户限制在自己的家目录
在 vsftpd.conf 配置文件里面修改以下配置
chroot_list 文件默认不存在,需要在 /etc/vsftpd/下新建
在vsftpd.conf添加如下配置
#对本地用户限制在自己的家目录里 chroot_local_user=YES #启用限制名单 chroot_list_enable=YES #具体的名单路径,这个名单的用户不受限制,可以随意切换目录 chroot_list_file=/etc/vsftpd/chroot_list #这个目录没有,需要自己新建。
5:创建用户进入客户端测试
默认情况下不允许root用户登录 vsftpd 使用的用户名和密码就是linux系统里面使用分用户和密码,不需要单独新建
#新建一个用户进行测试 useradd ceshi echo "ceshi" | passwd --stdin ceshi #这里有一个小坑,就是我后续使用这个用户登录发现没法上传文件,这里最好给ceshi的家目录权限大一点 chmod 777 /home/ceshi 230 Login successful. Remote system type is Unix. Using binary mode to transfer files. ftp> ls #查看自身目录下的文件 227 Entering Passive Mode (192,168,198,129,201,209). 150 Here comes the directory listing. drwxr-xr-x 2 1002 1003 6 Aug 15 07:29 test.txt 226 Directory send OK. ftp> !ls #查看本地目录内容 anaconda-ks.cfg dist m1 test.txt backup docker m2 ultrax.sql calico.yaml Dockerfile nginx check_mysqld.sh Java sprinboot-vue.jar checkMysql.sh kube-flannel.yml sysconfigure.sh ftp> cd /root #切换目录,这里报错了 550 Failed to change directory. ftp>
这里报错是因为我们限制用户不能随意的切换目录访问,这里如果想要切换目录,在chroot_list中讲用户名称添加进去就可以了
vim chrrot_list ceshi #一定记得重启!!! systemctl restart vsftpd
我们接着上面的说
ftp> cd /var 250 Directory successfully changed. ftp> ls 227 Entering Passive Mode (192,168,198,129,21,205). 150 Here comes the directory listing. drwxr-xr-x 2 0 0 6 Apr 11 2018 adm ftp> cd /home/ceshi 250 Directory successfully changed. ftp> pwd 257 "/home/ceshi" ftp> !ls #查看本地目录内容 anaconda-ks.cfg dist m1 test.txt backup docker m2 ultrax.sql calico.yaml Dockerfile nginx check_mysqld.sh java sprinboot-vue.jar checkMysql.sh kube-flannel.yml sysconfigure.sh ftp> put test.txt #上传文件到ftp服务器 local: test.txt remote: test.txt 227 Entering Passive Mode (192,168,198,129,210,80). 150 Ok to send dahttp://www.chinasem.cnta. 226 Transfer complete. 6 bytes sent in 0.00198 secs (3.03 Kbytes/sec) ftp> ls 227 Entering Passive Mode (192,168,198,129,1China编程75,174). 150 Here comes the directory listing. drwxr-xr-x 2 1002 1003 6 Aug 15 07:29 111 -rw-r--r-- 1 1002 1003 6 Aug 15 08:22 test.txt 226 Directory send OK. ftp> get 机柜信息.txt #下载文件到本地,默认/root目录 local: 机柜信息.txt remote: 机柜信息.txt 227 Entering Passive Mode (192,168,198,129,195,39). 150 Opening BINARY mode data connection for 机柜信息.txt (104 bytes). 226 Transfer complejste. 104 bytes received in 4.9e-05 secs (2122.45 Kbytes/sec) ftp>
windows测试
在php文件夹上输入: ftp:/@192.168.198.129/,
这种方式是匿名访问,默认在/var/ftp/pub路径
,如果向指定用户如下图进行登录:
输入账户密码进行登录。
登录之后就可以传输文件了。
注意:
删除目录时,如果目录是非空(FTP 协议默认不允许删除非空目录,需递归删除)
到此这篇关于Linux搭建ftp服务器的文章就介绍到这了,更多相关Linux搭建ftp服务器内容请搜索编程China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持China编程(www.chinasem.cn)!
这篇关于Linux搭建ftp服务器的步骤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!