首页 / LINUX / Linux学习笔记之ftp服务
Linux学习笔记之ftp服务
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Linux学习笔记之ftp服务,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3364字,纯文字阅读大概需要5分钟。
内容图文
![Linux学习笔记之ftp服务](/upload/InfoBanner/zyjiaocheng/1096/2f4d611d9f7244119044619fe0119076.jpg)
文件传输协议(英文:File Transfer Protocol,缩写:FTP)是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。它属于网络传输协议的应用层。文件传送(file transfer)和文件访问(file access)之间的区别在于:前者由FTP提供,后者由如NFS等应用系统提供。
二.配置ftp服务
1.在服务端
1)安装vsftpd服务
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045715110.jpg)
2)启动vsftpd服务并设置为开机自动启动
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045715231.jpg)
3)关闭防火墙并设置为开机不启动
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045715408.jpg)
4)关闭selinux
vim /etc/sysconfig/selinux 将第7行改为SELINUX=disabled
关闭selinux后,由于修改了配置文件,所以须重启服务,重启之后,输入getenforce指令查看,如果显示Disabled,则设置成功
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045715570.jpg)
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045715695.jpg)
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045715821.jpg)
2.在客户端
1)安装lftp服务 yum install lftp -y
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045715934.jpg)
2)测试
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045716076.jpg)
如果连接后,输入ls命令,可看到图示内容,则表示配置成功
三.四种常见的报错
500报错:权限过大
530报错:认证失败
550报错:服务本身不允许
553报错:文件系统权限过小
四.修改配置文件
在服务端
编辑vsftpd的配置文件:/etc/vsftpd/vsftpd.conf,即vim /etc/vsftpd/vsftpd.conf
因为修改的是配置文件,所以要重启vsftp服务,即systemctl restart vsftpd
在客户端
利用lftp命令进行测试
1)限制匿名用户的登陆
anonymous_enable=YES|NO
YES:允许匿名用户登陆
NO:不允许匿名用户登陆
编辑配置文件
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045716262.jpg)
修改第12行
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045716424.jpg)
重启服务
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045716681.jpg)
在客户端测试,当anonymous_enable=YES时,
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045716861.jpg)
当anonymous_enable=NO时,
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045717030.jpg)
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045717219.jpg)
2)修改配置文件限制匿名用户上传文件
write_enable=YES
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045717339.jpg)
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045717496.jpg)
anono_upload_enable=YES
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045717639.jpg)
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045717751.jpg)
重启服务
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045717912.jpg)
修改匿名用户登陆的默认目录的权限:chmod 775 /var/ftp/pub
修改匿名用户登陆的默认目录的所属组:chgrp ftp /var/ftp/pub
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045718097.jpg)
在客户端测试
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045718304.jpg)
3)匿名用户上传文件默认权限的修改
anono_umask=022 修改umask值
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045718428.jpg)
重启服务
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045718559.jpg)
在客户端测试
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045718731.jpg)
4)允许匿名用户下载自己上传的文件
anon_world_readable_only=NO(NO表示匿名用户可以下载自己上传的文件)
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045718833.jpg)
在客户端测试
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045719039.jpg)
下载成功
5)是否允许匿名用户建立目录(在pub目录)
anon_mkdir_write_enable=YES
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045719155.jpg)
重启服务
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045719278.jpg)
在客户端测试
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045719474.jpg)
6)是否允许匿名用户删除自己上传的文件及建立的目录
anono_other_write_enable=YES
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045719625.jpg)
重启服务
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045719785.jpg)
在客户端测试
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045720023.jpg)
7) 匿名用户使用身份的修改
chown_uploads=YES
chown_username=student(匿名用户以student用户身份登陆)
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045720155.jpg)
重启服务
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045720296.jpg)
在客户端上传文件
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045720489.jpg)
在服务端查看
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045720676.jpg)
8)指定匿名用户登陆后家目录
anon_root=/mnt 指定你名用户的家目录为/mnt
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045720847.jpg)
重启服务
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045720974.jpg)
在客户端测试
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045721140.jpg)
9)限制匿名用户最大上传速率
anno_max_rate=102400 限制匿名用户最大上传速率为100M
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045721284.jpg)
为了使匿名用户能够上传文件,具有权限,将家目录改为默认目录/var/ftp/pub
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045721402.jpg)
重启服务
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045721566.jpg)
创建文件
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045721740.jpg)
在客户端测试
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045721914.jpg)
10)服务端最大连接数
max_clients=1 设置服务端最大连接数为1
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045722076.jpg)
重启服务
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045722227.jpg)
在客户端测试
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045722385.jpg)
虚拟机连接成功
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045722520.jpg)
物理机连接失败
2.本地用户
1)本地用户家目录的修改
local_root=/jiao
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045722639.jpg)
重启服务
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045722798.jpg)
在/jiao目录下创建三个文件,为测试结果明显
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045722907.jpg)
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045723051.jpg)
在客户端测试
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045723209.jpg)
测试发现在看到文件为/jiao目录下的文件,设置成功
(2)本地用户上传文件默认权限的修改
local_umask=xxx
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045723359.jpg)
重启服务
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045723508.jpg)
为使用户能够上传文件,需要修改目录的权限
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045723681.jpg)
在客户端测试
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045723842.jpg)
(3)限制本地用户浏览根目录
chroot_local_user=YES
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045723961.jpg)
必须修改权限,否则会报500(权限过大)的错误
chmod u-w /home/*
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045724137.jpg)
重启服务
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045724303.jpg)
在客户端测试
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045724471.jpg)
4)用户黑名单的建立(黑名单中的用户不能访问根目录)
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
vim /etc/vsftpd/chroot_list
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045724626.jpg)
将xin,chen用户设为黑名单用户
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045724827.jpg)
重启服务
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045724948.jpg)
在客户端测试
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045725170.jpg)
student用户能够访问根目录
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045725322.jpg)
xin用户不能访问根目录
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045725487.jpg)
chen用户不能访问根目录
(5)用户白名单的建立(只有白名单中的用户可以访问根目录)
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045725631.jpg)
将xin,chen用户设置为白名单用户
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045725812.jpg)
重启服务
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045725959.jpg)
在客户端测试
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045726178.jpg)
xin用户能够访问根目录
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045726371.jpg)
student用户不能访问根目录
6)限制本地用户登陆
vim /etc/vsftpd/ftpusers 永久黑名单
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045726528.jpg)
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045726647.jpg)
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045726837.jpg)
vim /etc/vsftpd/user_list 临时黑名单
/etc/vsftpd/user_list为临时黑名单,通过设定可以变为白名单
7)用户白名单的设定(只有白名单中出现的用户才能通过lftp远程连接)
userlist_deny=NO
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045726986.jpg)
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045727253.jpg)
vim /etc/vsftpd/user_list 此参数设定,此文件变成用户白名单,名单中出现的用户可以登陆ftp
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045727402.jpg)
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045727550.jpg)
重启服务
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045727695.jpg)
在客户端测试
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045727892.jpg)
student用户可以登陆
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045728072.jpg)
xin用户不能登陆
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045728273.jpg)
chenyo用户不能登陆
8)用户黑名单的设定(黑名单中出现的用户不能通过lftp远程连接)
userlist_deny=YES
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045728379.jpg)
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045728594.jpg)
/etc/vsftpd/user_list 此参数设定,此文件变成用户黑名单,名单中出现的用户不可以登陆ftp
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045728722.jpg)
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045728860.jpg)
重启服务
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045728995.jpg)
在客户端测试
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045729180.jpg)
student用户不能登陆
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045729346.jpg)
xin用户能够登陆
4.3.虚拟用户
1)虚拟用户创建
服务端:
步骤一:编辑配置文件,用来存放虚拟用户的账户信息
vim /etc/vsftpd/file 文件名任意
user1
123
user2
123
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045729502.jpg)
步骤二:
为了安全,将用户名和密码进行加密
db_load -T -t hash -f /etc/vsftpd/xinfile /etc/vsftpd/xinfile.db
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045729694.jpg)
步骤三:查看是否安装pam ps aux | grep pam
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045729902.jpg)
步骤四:编辑解析文件 vim /etc/pam.d/xin
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045730103.jpg)
步骤五.修改vsftpd的解析文件 vim /etc/vsftpd/vsftpd.conf
133pam_service_name=xin
134guest_enable=YES
为了防止影响,将136userlist_deny=NO注释掉
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045730263.jpg)
重启服务
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045730413.jpg)
在客户端测试:
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045730604.jpg)
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045730771.jpg)
user1,user2登陆成功
2)统一指定虚拟用户家目录
方法同上,步骤五为:修改vsftpd的解析文件 vim /etc/vsftpd/vsftpd.conf
133pam_service_name=xin
134guest_enable=YES
135guest_username=student
为了防止影响,将userlist_deny=NO注释掉
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045730884.jpg)
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045731036.jpg)
重启服务
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045731150.jpg)
在客户端测试
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045731358.jpg)
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045731541.jpg)
user1,user2登陆后默认家目录为student
3)虚拟用户家目录单独设定
服务端
为user1和user2创建家目录并修改权限
mkdir /ftphome/user1/user1dir -p
mkdir /ftphome/user2/user2dir -p
chmod 775 /ftphome/usr1/user1dir
chmod 775 /ftphome/usr2/user2dir
chgrp ftp /ftphome -R
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045731688.jpg)
vim /etc/vdftpd/vdftpd.conf
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045731843.jpg)
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045732027.jpg)
重启服务
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045732160.jpg)
在客户端测试
![技术分享图片](/upload/getfiles/default/2022/11/3/20221103045732324.jpg)
user1登陆后家目录为user1dir
![技术分享图片](http://i2.51cto.com/images/blog/201811/16/dd798a831b107d93204d099a78c58aa7.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
user2登陆后家目录为user2dir
设置成功
原文:http://blog.51cto.com/14050771/2318208
内容总结
以上是互联网集市为您收集整理的Linux学习笔记之ftp服务全部内容,希望文章能够帮你解决Linux学习笔记之ftp服务所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。