linux ftp安装与使用

http://www.jb51.net/LINUXjishu/320247.html

http://jingyan.baidu.com/article/cdddd41c5ec13153ca00e155.html

http://www.cnblogs.com/yangjinjin/p/3158245.html

http://blog.chinaunix.net/uid-28950383-id-4108295.html


对于一个经常接触电脑的人来说,FTP无形中出现在我们生活的各个角落。日常生活中的文件上传和下载很多时候就是依靠FTP去实现的。

专业的说,FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。

无论是Window还是Linux,FTP都有其发挥的作用,在windows我们可能可以通过可视化的界面去操作ftp。但是在纯命令行的Linux下,我们要如何操作。

1、在安装好的Linux,当我输入ftp的时候,提示我没有找到ftp的指令,在网上查看,说是要去安装一个vsftpd。先将权限设置为root,或者指令前加sudo。指令如下(注意事项:安装FTP的时候,权限设置为root):

yum install vsftpd

或者

sudo yum install vsftpd


查询当前vsftpd的状态 chkconfig --list |grep vsftpd,如果为off;

开启ftp服务 chkconfig vsftpd on;

再次查询当前ftp的状态 chkconfig --list |grep vsftpd,此时的状态为on

第一次安装,开启后请重启下vsftpd服务,输入/sbin/service vsftpd restart去重启vsftpd.


3、然后安装ftp。

yum install ftp



4、然后输入ftp后,尽可以进入ftp的控制界面。


5、现在如果你想登陆一个FTP,就可以通过open指令去进入该FTP。

例如:open 127.0.0.0

如果FTP设置权限,可能在输入后需要输入用户名和密码。这样就可以直接进入FTP去操作了。

或者ftp命令登陆:ftp 192.168.12.21, 连接成功后默认进入的目录是,用什么用户登陆就在什么用户下( /home/用户名 这个目录下,root用户连接ftp就在root目录下


=====================================================================

安装成功后,可以在本地使用ftp软件连接,默认账号是虚拟机的账号和密码。

linux中添加ftp用户,并设置相应的权限,操作步骤如下:

1、环境:

ftpvsftp 被限制用户名为test。被限制路径为/home/test

2、建用户:在root用户下:

# useradd -d /home/test test //增加用户test,并制定test用户的主目录为/home/test
# passwd test //为test设置密码

3、更改用户相应的权限设置:

# usermod -s /sbin/nologin test //限定用户test不能telnet,只能ftp
# usermod -s /sbin/bash test //用户test恢复正常
# usermod -d /test test //更改用户test的主目录为/test

4、限制用户只能访问/home/test,不能访问其他路径

修改 # /etc/vsftpd/vsftpd.conf 如下:

chroot_list_enable=YES //限制访问自身目录

# (default follows)

chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

编辑 vsftpd.chroot_list文件,将受限制的用户添加进去,每个用户名一行

改完配置文件,不要忘记重启vsFTPd服务器

# /etc/init.d/vsftpd restart

5、如果需要允许用户修改密码,但是又没有telnet登录系统的权限:

# usermod -s /usr/bin/passwd test //用户telnet后将直接进入改密界面


=====================================================================


   Linux启动ftp服务器530 Permission denied解决方法
重新在虚拟机下安装了linux。现在我想启动linux自带的ftp服务器:#service  vsftpd  start 。如果想linux启动是自动启动ftp服务器:#chkconfig  vsftpd  on  。

运行putty,以root身份进入,出现了报错  530 Permission denied  ,感觉很奇怪,因以普通用户是可以进入的。

原因是我们 /etc/vsftpd/ftpusers  和  /etc/vsftpd/user_list  禁掉了root这个用户。这时我们需要修改这两个文件。

(1)/etc/vsftpd.user_list的默认文件(则是表示具体用户)

# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

这时我们要在 root 前加上 # 。

(2)/etc/vsftpd.ftpusers  的默认文件(所有可以登录该FTP的用户属性)

# Users that are not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

这时我们要在 root 前加上 # 。



=====================================================================

操作指令

1、FTP的操作指令其实和Linux很相似,如下:

1)ls 列出远程机的当前目录

2)cd 在远程机上改变工作目录

3)lcd 在本地机上改变工作目录

4)ascii 设置文件传输方式为ASCII模式

5)binary 设置文件传输方式为二进制模式

6)close 终止当前的ftp会话

7)hash 每次传输完数据缓冲区中的数据后就显示一个#号

8)get(mget) 从远程机传送指定文件到本地机

9)put(mput) 从本地机传送指定文件到远程机

10)open 连接远程ftp站点

11)exit退出ftp。

2、例如:下载文件

下载文件之前要先设置好本地的目录,用来存放下载的文件

lcd /home/123/web   ##设置本地存放目录 默认为 /home/usr

get 123.txt     ##下载123.txt文件到 /home/123/web 中

get -c 123.txt ##断点续传下载

mget *.txt     ##批量下载所有txt文件

mget -c *.txt ##断点续传

mget -c ./123/aaa/*.txt   ##断点续传、批量下载ftp端aaa目录下的所有txt文件

pget -c -n 10 file.dat

##以最多10个线程以允许断点续传的方式下载file.dat

##可以通过设置 set pget:default-n 5 的值而使用默认值。

mirror aaa/

##将aaa目录整个的下载下来,子目录也会自动复制 本地自动建立目录

3、例如:上传文件

put 123.txt     ##同下载

mput *.txt     ##同下载

mirror -R aaa/ ##同下载

4、例如:查看ftp端文件

ls *.txt ##查找当前目录下的所有txt文件

ls ./123/ ##列出123目录下所有文件

find . -name "*.txt"   ##递归查找站点上所有的txt文件

find ./xx -name "*.txt" ##查找xx目录下所有的txt文件

附1: ls第二次读取的是本地缓存,可以用 rels 代替 ls 或者catch off / catch on 来开关catch,catch flush清空本地catch

附2: 浏览本地目录的命令可用!ls, 如 !ls /usr/local/bin/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值