一、FTP 概述

1、FTP 协议

文件传输协议,使用两个 tcp 端口:21 - 传输命令,20 - 传输数据。

2、FTP 软件

实现同一协议,有不同的软件。

服务器程序:RHL 默认安装 vsFTPd。

客户端程序:ftp 命令,Windows 浏览器(资源管理器),等。

3、vsFTPd

守护进程 vsftpd,在 tcp 21 号端口监听。

检查是否安装:

# rpm -qa | grep vsftp

vsftpd-1.1.3-8

即时启动:

# service vsftpd start

启动系统时加载:

# chkconfig vsftpd on

4、用户帐号

客户端连接 FTP 服务器时,使用的用户名和密码。

1) 本地用户

Linux 系统上的用户名和密码。

2) 匿名用户

用户名:anonymous 或 ftp。

密码:空,或用户的邮址。

3) 虚拟用户

FTP 服务器的专有用户。不讲。

二、配置文件

1、vsFTPd 的配置文件

/etc/vsftpd/vsftpd.conf

守护进程启动时,读取它。在缺省配置下即可工作。

2、备份

# cd /etc/vsftpd

# cp vsftpd.conf vsftpd.conf.samp

3、内容

# Example config file ...

...

# Allow anonymous FTP?

anonymous_enable=YES

#

# ...allow local users to log in.

local_enable=YES

...

# 开头的是注解行,其余是配置行。

4、配置选项

用 man vsftpd.conf 查看。

1) 格式

option=value

紧靠等号左右不能有空格。

2) 布尔选项

取值为 YES 或 NO。如 local_enable 和 anonymous_enable。

3) 数值选项,如

connect_timeout 120

4) 缺省值

查看 man vsftpd.conf:

...

anon_upload_enable

If set to YES, anonymous users

will be permitted to upload...

Default: NO

...

三、本地用户的操作

1、服务器端 (Linux,172.16.2.3)

设当前用户 yanji。创建目录和文件:

$ cd

$ mkdir poem

$ cat > poem/brook.txt

溪上

采莲溪上女,舟小怯摇风。

惊起鸳鸯宿,水云撩乱红。

$ cat > poem/night.txt

夜思

床前明月光,疑是地上霜。

举头望明月,低头思故乡。

2、客户端 (ftp 命令,Windows 平台)

例1.

C:\>ftp 172.16.1.3

Connected to 172.16.1.3.

220 (vsFTPd 1.1.3)

User (172.16.1.3:(none)): yanji

331 Please specify the password.

Password:

230 Login successful. Have fun.

ftp>

ftp> 是提示符,输入交互命令操作。

交互命令是 FTP 协议的一部分。man ftp 查看详细说明。部分如下:

交互命令      意义

pwd           显示服务器当前目录

cd            切换服务器目录

lcd           切换客户端目录

ls [-l]       文件列表

get           下载文件

put           上传文件

mget          下载多个文件

mput          上传多个文件

ascii 或 asc  文本传输方式

binary或 bin  二进制传输方式

quit  或 bye  退出

依次输入下面交互命令操作:

pwd

ls -l

cd poem

ls -l

lcd d:\

get brook.txt

bye

Windows 中,查看 d:\brook.txt,分行不正确。因为,换行符随操作系统而异:

操作系统  换行符

Unix      \n

Windows   \r\n

Mac       \r

3、修改配置

$ su -

# vi /etc/vsftpd/vsftpd.conf

输入 :/#ascii,找到:

#ascii_upload_enable=YES

#ascii_download_enable=YES

此两行设置,上传、下载采用文本传输模式。去掉行首的 #,使这两行生效。存盘退出。

重启服务:

/etc/init.d/vsftpd restart

...

则服务进程重读配置文件。

再下载 brook.txt,分行正确。

4、上传文件

例2.

1) 客户端 (windows)

在记事本上创建 d:\moon2.txt,内容:

明月照我床,卧看不肯睡。

窗上青藤影,随风舞娟媚。

另存为,选择编码 UTF-8。

2) 客户端上传文件

ftp 172.16.1.3 连接服务器。依次输入交互命令:

cd poem

put d:\moon2.txt

bye

3) 服务器端查看

# exit

$ cat poem/moon2.txt

...

四、匿名用户的操作

1、约定

1) 帐号: 用户名 ftp 或 anoymous,密码 空。

2) 根目录: /var/ftp

3) 权限

为了安全,缺省允许下载,不许上传。

2、示例

例3.

1) 服务器端 (putty 窗口)

# cd /var/ftp/pub

# cat > moon1.txt

月冷寒江静,心头百念消。

欲眠君照我,无梦到明朝。

#

2) 客户端 (Windows)

ftp 172.16.1.3 连接服务器。依次输入交互命令:

pwd

ls -l

cd pub

lcd d:\

get d:\moon1.txt

bye

3) 客户端

用记事本查看 d:\moon.txt。

五、服务器其他配置

anonymous_enable=YES       允许匿名用户

anon_upload_enable=YES     允许匿名用户上传文件

anon_mkdir_write_enable=YES  允许匿名用户建目录

chown_uploads=YES

local_enable=YES           允许本地用户

write_enable=YES           允许本地用户上传文件

local_umask=022            本地用户上传文件掩码

用 666减去它,得缺省权限

xferlog_enable=YES

xferlog_file=/var/log/vsftpd.log  启用日志

accept_timeout=60

connect_timeout=60         超时秒数

pam_service_name=vsftpd    pam 认证的文件名

userlist_enable=YES        /etc/vsftpd.user_list

中的用户拒绝登录

listen=YES   独立监听。

NO,委托 xinetd 监听

我的硬盘空间有限,如何把帐号ftp默认的路径/var/ftp更改到别处?或者是,我的linux所有的目录都放在/根分区,因为空间紧张,我能否把ftp这个用户的默认路径放到别的分区?

可以,应该如下操作!

首先要把ftp这个用户删除

#userdel -r ftp

会有错误信息,不过不用理,这是正常的。

然后我们再把这个用户添加上,比如我想为帐号ftp的家目录设置在/mnt/LinG/ftp,我们就可以如下操作

[root@linuxsir001 root]# mkdir /root/ftp

[root@linuxsir001 root]# adduser -d /root/ftp -g ftp -s /sbin/nologin ftp

仅仅是这样做还不行,因为这样还是不能让匿名用户找到它的家目录,所以我们必须改变/mnt/LinG/ftp这个目录的权限。

[root@linuxsir001 root]# chmod 755 /root/ftp/

[root@linuxsir001 root]# chown -R root.root /root/ftp/

本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1578501,如需转载请自行联系原作者

Linux中ftp安装与基本操作相关推荐

  1. centos6.5 php5.2,Linux中PHP安装与配置(CentOS-6.5:php-5.2.13)

    1 PHP简介     PHP(PHP: Hypertext Preprocessor的缩写,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言.Java和Per ...

  2. qt打包rpm时候先安装其他软件_云计算学习路线图素材课件,Linux中软件安装的方式...

    很多初学者感觉云计算就是一个听起来比较高大上的名词,每次想要了解它的时候都像是雾里看花,迷迷糊糊看不真切,至于它是干什么的就更不了解了,其实云计算学起来在IT行业中还是比较容易上手的,接下来我给大家分 ...

  3. _云计算学习路线图素材课件,Linux中软件安装的方式

    很多初学者感觉云计算就是一个听起来比较高大上的名词,每次想要了解它的时候都像是雾里看花,迷迷糊糊看不真切,至于它是干什么的就更不了解了,其实云计算学起来在IT行业中还是比较容易上手的,接下来我给大家分 ...

  4. linux中ftp如何使用,linux下ftp如何使用

    linux下ftp可以上传.下载文件 centos7环境: 1.检查是否安装过ftp服务 rpm -qa|grep vsftpd 如果没有输出则表示没有安装过 安装ftp yum -y install ...

  5. linux mysql内网_在Linux中mysql的一些基本操作

    在Linux中mysql的一些基本操作 下面介绍一下 一.关于在Linux中mysql的一些基本操作 1.进入mysql "mysql -uroot -p",会提示输入密码,输入密 ...

  6. Linux课程---11、Linux中软件安装和调试

    Linux课程---11.Linux中软件安装和调试 一.总结 一句话总结: 启动过程:1.安装软件,2.修改配置文件,3.启动服务 查看过程:4.查看进程,5.查看端口 关闭过程:6.关闭软件,7. ...

  7. linux中怎么安装ded包_快速提示:如何在Linux中安装.deb和.tar文件 - push博客

    在本快速教程中,我将解释如何使用终端命令在Linux中安装程序.本教程使用LinuxMint 18(肉桂64位),但是下面提供的命令对于其他版本的Linux是通用的,比如Ubuntu.对于那些刚接触l ...

  8. KALI Linux中GURB安装失败如何处理

    KALI  Linux中GURB安装失败如何处理 # GRUB安装失败 # 无法将grub-pc软件包安装到/target/中,如果没有GRUB启动引导器,所安装的系统将无法启动. 解决办法: 点击返 ...

  9. Linux中nginx安装基础教程

    Linux中nginx安装基础教程 1.安装所需的运行环境 (1) 需要安装gcc的环境. yum install gcc-c++ (2)第三方包.   Perl库 PCRE(Perl Compati ...

最新文章

  1. plt.xlabel 'str' object is not callable
  2. C#跑马灯,图片滚动,后台获取图片地址。动态绑定图片,imag显示文字
  3. 链表(Linked List)之双向链表
  4. python读取两个csv文件后比较_python – 读取两个csv文件并比较每一行.如果行匹配打印两行,如果不相似则打印无效...
  5. Spring Boot中使用模板引擎参数化传参数
  6. 喜欢初音未来的桌面壁纸看过来
  7. mysql服务器是否支持tcp/ip连接,(3)MySQL客户端与服务端的TCP/IP及socket连接方式-Go语言中文社区...
  8. linux 多窗口查看多命令的操作结果
  9. C++ Qt高级开发视频教程
  10. CDA数据分析师教材与题库
  11. 油田智能化远程监控系统_油田远程无线监控系统
  12. 计算机shutdown命令,shutdown命令用法|电脑关机命令shutdown
  13. php公众号模板在哪,微信公众号模板哪里找?公众号如何套用模板?
  14. python读二进制文件
  15. 上传声音 微信小程序_微信小程序之----audio音频播放
  16. [Linux]命令查找一个文件
  17. 计算机睡眠无法锁屏是怎么设置密码,教你电脑待机锁屏怎么设置
  18. docker 安装RabbitMQ(镜像安装)
  19. 武汉疫情 - 新型冠状病毒信息整理
  20. 软件开发团队的有效管理和激励

热门文章

  1. 【Charles】charles unknown问题解决,及手机代理设置【iOS手机】
  2. app打包上传遇到的问题
  3. Android 发布代码到github 并且部署到 JitPack maven 仓库详细步骤
  4. windows 无法完成安装, 若要在此计算机上安装Windows, 请重新启动安装
  5. MNIST | 基于朴素贝叶斯分类器的0-9数字手写体识别
  6. python-机器学习-手写数字识别
  7. 记录nodejs使用express搭建一个api服务器程序(5)-nodejs操作SQL数据库,Sequelize和Knex
  8. 【Python】时间序列数据分析与预测之Python工具汇总
  9. no openvas scap database found. (tried /var/lib/openvas/scap-data/scap.db)错误
  10. 低血压形成的原因和治疗方法