首页 > 其他分享 >文件共享服务ftp

文件共享服务ftp

时间:2024-02-24 15:44:40浏览次数:25  
标签:ftp 服务 文件共享 root vsftpd file YES local

文件共享服务方案有很多,了解即可

  • ftp(简单文件传输服务)
    • 提供用户认证机制
    • 可以输入账号密码
  • python -m SimpleHTTPServer
  • nginx也提供了文件下载的功能
    • 提供用户认证机制
    • 反向代理,负载均衡
    • web服务器,静态文件服务器的作用
    • 如ftp服务器的作用
  • samba(linux和windows之间共享数据)
    • 提供用户认证机制
  • nfs(主要用这个)

重点学习,工作里用的是
nfs

nginx

平时,简易的快速进行文件下载,下载服务器上的资料
python -m SimpleHTTPServer

搭建ftp服务

1.需要安装vsftpd服务

yum install vsftpd -y

2.修改ftp配置文件,设置账号密码,登录ftp服务器,可以查看某文件夹下的数据资料(共享文件夹)

3.创建一个linux的用户(ftp使用linux的用户信息,不靠谱)
useradd ops01
设置该用户密码
[root@nfs-31 ~]#echo '123456' | passwd --stdin  ops01
Changing password for user ops01.
passwd: all authentication tokens updated successfully.

4.修改ftp配置文件,设置用于共享的目录
[root@nfs-31 ~]#rpm -ql vsftpd |grep '.conf$'
/etc/vsftpd/vsftpd.conf

4.1 关闭所有的匿名用户功能,不安全
找出和匿名用户相关的配置参数
[root@nfs-31 ~]#grep '^anonymous'  /etc/vsftpd/vsftpd.conf
anonymous_enable=NO

4.2添加自定义的共享文件夹配置参数,笔记的解释,别写入linux中,写笔记上,否则可能会导致编码不识别,程序出错

直接在文件最低下,添加如下配置
# 配置解释
# local_root=/data/kefu  指定本地用户的默认数据根目录 
# chroot_local_user=YES 禁锢本地用户的默认数据目录(禁止用户切换到其他目录)
# allow_writeable_chroot=YES 允许ftp用户登录后,可以创建数据

你只需要修改如下三个参数即可
# ftp用户,ops01登录ftp之后,只能看到/test_0224这个文件夹下的数据
## by myself
local_root=/test_0224/
chroot_local_user=YES
allow_writeable_chroot=YES







5.创建用于共享的文件夹
mkdir /test_0224/
touch /test_0224/wenjie.png

别忘记修改文件夹的权限,否则无法读取了,修改为刚才自定义的用户

chown -R ops01:ops01  /test_0224/

[root@nfs-31 ~]#ll -d /test_0224/
drwxr-xr-x 2 ops01 ops01 24 Apr 19 14:53 /test_0224/



6.此时可以重启vsftpd服务
[root@nfs-31 ~]#systemctl restart vsftpd
[root@nfs-31 ~]#
[root@nfs-31 ~]#
[root@nfs-31 ~]#ps -ef|grep vsftpd
root       2221      1  0 15:01 ?        00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root       2226   1168  0 15:02 pts/0    00:00:00 grep --color=auto vsftpd
[root@nfs-31 ~]#

使用客户端,验证ftp的登录,数据查看

你可以用另一台机器,安装ftp程序,登录vsftpd服务端

yum install ftp -y


登录ftp设备的命令
ftp 机器的ip地址
如

ftp 172.16.1.31
输入账号密码 ops01 123456
进入之后,输入? 查看ftp提供的命令帮助
ftp> pwd  查看当前的ftp目录位置
257 "/"

ftp提供的上传下载
下载功能
ftp> get 
(remote-file) 文杰.png
(local-file) 文杰1.png
local: 文杰1.png remote: 文杰.png
227 Entering Passive Mode (10,0,0,31,149,223).
150 Opening BINARY mode data connection for 文杰.png (0 bytes).
226 Transfer complete.
ftp> 


上传功能
ftp> 
ftp> put
(local-file) /opt/4111111.jpg
(remote-file) 4444444.jpg
local: /opt/4111111.jpg remote: 4444444.jpg
227 Entering Passive Mode (10,0,0,31,185,67).
150 Ok to send data.
226 Transfer complete.

----------------------------------完成--------------------

ftp服务端,关于ftp的软件、配置文件

[root@server ~]# rpm -ql vsftpd
/etc/rc.d/init.d/vsftpd            启动脚本
/etc/vsftpd                            配置文件的目录
/etc/vsftpd/ftpusers                用户列表文件,黑名单
/etc/vsftpd/user_list            用户列表文件,可黑可白(默认是黑名单)
/etc/vsftpd/vsftpd.conf            配置文件
/usr/sbin/vsftpd                    程序本身(二进制的命令)
/var/ftp                                匿名用户的默认数据根目录
/var/ftp/pub                        匿名用户的扩展数据目录


[root@ftp-server ~]# grep -v ^# /etc/vsftpd/vsftpd.conf 
anonymous_enable=YES            支持匿名用户访问    
local_enable=YES                非匿名用户,用linux本地用户认证
write_enable=YES                写总开关(主要针对非匿名用户)
local_umask=022                    遮罩码  file:644  rw- r-- r-- dir:755
dirmessage_enable=YES            启用消息功能
xferlog_enable=YES                开启或启用xferlog日志
connect_from_port_20=YES        支持主动模式(默认被动模式)
xferlog_std_format=YES            xferlog日志格式
listen=YES                        ftp服务独立模式下的监听

pam_service_name=vsftpd            指定认证文件
userlist_enable=YES                启用用户列表(user_list黑名单)
tcp_wrappers=YES                支持tcp_wrappers功能(限流)

匿名模式认证

配置文件,参数解释
[root@chaogelinux ~]# grep '^anon' /etc/vsftpd/vsftpd.conf
anonymous_enable=YES    #允许匿名访问
anon_upload_enable=YES    #允许匿名用户上传
anon_mkdir_write_enable=YES    #允许匿名用户创建目录
anon_other_write_enable=YES    #允许匿名用户修改目录

ftp常用命令

ftp> ascii  # 设定以ASCII方式传送文件(缺省值) 
ftp> bell   # 每完成一次文件传送,报警提示. 
ftp> binary # 设定以二进制方式传送文件. 
ftp> bye    # 终止主机FTP进程,并退出FTP管理方式. 
ftp> case   # 当为ON时,用MGET命令拷贝的文件名到本地机器中,全部转换为小写字母. 
ftp> cd     # 同UNIX的CD命令. 
ftp> cdup   # 返回上一级目录. 
ftp> chmod  # 改变远端主机的文件权限. 
ftp> close  # 终止远端的FTP进程,返回到FTP命令状态, 所有的宏定义都被删除. 
ftp> delete # 删除远端主机中的文件. 
ftp> dir [remote-directory] [local-file] # 列出当前远端主机目录中的文件.如果有本地文件,就将结果写至本地文件. 
ftp> get [remote-file] [local-file] # 从远端主机中传送至本地主机中. 
ftp> help [command] # 输出命令的解释. 
ftp> lcd # 改变当前本地主机的工作目录,如果缺省,就转到当前用户的HOME目录. 
ftp> ls [remote-directory] [local-file] # 同DIR. 
ftp> macdef                 # 定义宏命令. 
ftp> mdelete [remote-files] # 删除一批文件. 
ftp> mget [remote-files]    # 从远端主机接收一批文件至本地主机. 
ftp> mkdir directory-name   # 在远端主机中建立目录. 
ftp> mput local-files # 将本地主机中一批文件传送至远端主机. 
ftp> open host [port] # 重新建立一个新的连接. 
ftp> prompt           # 交互提示模式. 
ftp> put local-file [remote-file] # 将本地一个文件传送至远端主机中. 
ftp> pwd  # 列出当前远端主机目录. 
ftp> quit # 同BYE. 
ftp> recv remote-file [local-file] # 同GET. 
ftp> rename [from] [to]     # 改变远端主机中的文件名. 
ftp> rmdir directory-name   # 删除远端主机中的目录. 
ftp> send local-file [remote-file] # 同PUT. 
ftp> status   # 显示当前FTP的状态. 
ftp> system   # 显示远端主机系统类型. 
ftp> user user-name [password] [account] # 重新以别的用户名登录远端主机. 
ftp> ? [command] # 同HELP. [command]指定需要帮助的命令名称。如果没有指定 command,ftp 将显示全部命令的列表。
ftp> ! # 从 ftp 子系统退出到外壳。

标签:ftp,服务,文件共享,root,vsftpd,file,YES,local
From: https://www.cnblogs.com/btcm409181423/p/18031149

相关文章

  • 在K8S中,Pod能否实现对容器健康检查,如果服务有异常,该如何处理?
    在Kubernetes(K8S)中,Pod可以配置健康检查来监控容器的运行状态。Kubernetes提供了两种类型的健康检查:就绪探针(ReadinessProbe):就绪探针用于确定Pod中的容器是否准备好服务请求。如果探针失败,则Pod会被从对应的Service后端列表中移除,直到它通过就绪探针为止。这确保了只有健康的......
  • 在K8S中,如何具体实现Pod的IP地址发生变化时,不影响正常服务使用?
    在Kubernetes中,Pod的IP地址变化通常是由调度器重新调度Pod、节点故障、Pod升级或缩放等原因引起的。为了确保PodIP变化时服务不受影响,你可以采取以下具体步骤:使用Service:创建一个Service,指定其Selector以匹配你的Pod标签。当Pod的IP地址发生变化时,Kubernetes会自动更新Serv......
  • 阿里云创建实例与购买服务器和公网IP
     写好的项目,在本地跑,别人访问不到,没有公网ip所以需要购买阿里云创建实例与购买服务器和公网IP#购买阿里云服务器#短期或是测试使用,创建按量收费服务器,可以随时删除,删除后不再计费,但要保证账户余额100元以上      阿里云服务器是ECS   亚马逊服务器是aw......
  • docker 部署Nextcloud文件共享系统
    部署Nextcloud:文件共享系统,和windows上进行文件管理方式一样。创建目录,在目录中创建文件,上传文件。使用DockerCompose(推荐方式)创建一个docker-compose.yml文件:version:'3'services:db:image:mariadb:latestrestart:alwaysenvironment:MYSQL......
  • 医疗大模型:数据+知识双轮驱动实现医学推理、医患问答、病历自动生成、临床决策,为未来
    医疗大模型:数据+知识双轮驱动实现医学推理、医患问答、病历自动生成、临床决策,为未来医疗服务提供全新可能性1.指令数据集构建目前大多数开源的ChatLLM项目使用的是其他模型(如:ChatGPT)生成的指令数据,其不可避免的存在数据幻想的问题,数据幻想问题将严重影响LLM在实际场景中的应用......
  • Linux搭建SFTP
    Linux搭建SFTP一、 创建sftp用户组(注:通常选择home路径下,按需自行调整)1、 创建sftp用户组根目录(详情看第4点)mkdir/home/sftpUsers/name创建单个用户name:addusername//新建name用户passwdname//给name用户设置密码—部分需要设置复杂密码包含数字,且长度不小于8位nam......
  • 医疗大模型:数据+知识双轮驱动实现医学推理、医患问答、病历自动生成、临床决策,为未来
    医疗大模型:数据+知识双轮驱动实现医学推理、医患问答、病历自动生成、临床决策,为未来医疗服务提供全新可能性1.指令数据集构建目前大多数开源的ChatLLM项目使用的是其他模型(如:ChatGPT)生成的指令数据,其不可避免的存在数据幻想的问题,数据幻想问题将严重影响LLM在实际场景中的应用......
  • 搭建私有的 PyPI 服务器
    安装教程安装pypi-server:pipinstallpypiserver创建一个存储PyPI包的目录:mkdir~/pypi-packages启动pypi-server,需要生成用户名密码文件及安装配套服务pypi-serverrun-p8080-P~/.htpasswd--overwrite~/pypi-packages配置PyPI客户端以使用你的......
  • mysql 怎么启动服务 Linux CentOS和Fedora Windows系统
    mysql怎么启动服务<p>mysql是一个免费的开源数据库管理系统,广泛应用于web应用程序开发,是linux/unix系统中最常用的数据库之一,这篇文章将介绍如何启动mysql服务。</p>一、Linux系统下启动MySQL服务使用默认命令使用默认命令启动MySQL服务十分简单,只需使用......
  • 腾讯云Linux服务器 前端Nginx+后端 项目部署
    一、前端项目部署1.安装nginx服务器:在root目录下创建services文件并下载nginx源文件【nginx-1.21.6.tar.gz】 建议尽量选择稳定版本下载  nginx官网下载地址​​​​cd/rootmkdirservicescdservicescurl-onginx-1.21.6.tar.gzhttp://nginx.org/download/......