当前位置:首页 » 文件传输 » ftp使用linux连接
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

ftp使用linux连接

发布时间: 2022-10-02 13:14:14

1. linux下用ftp命令连接到ftp服务器应该如何查看服务器上的目录文件数

1.Linux下启动ftp

ls -l 普通文件就是以 - 开头,文件夹以 d 开头,grep 后面接正则表达式:^- 以 - 开头的匹配。

(1)ftp使用linux连接扩展阅读:

1.查看当前目录下的文件数量(不包含子目录中的文件):

ls -l|grep "^-"| wc -l

2. 查看当前目录下的文件数量(包含子目录中的文件):

ls -lR|grep "^-"| wc -l

3.查看当前目录下的文件夹目录个数,(不包含子目录中的目录):

ls -l|grep "^d"| wc -l

4.查询当前路径下的指定前缀名的目录下的所有文件数量 例如:统计所有以“20161124”开头的目录下的全部文件数量:

ls -lR 20161124*/|grep "^-"| wc -l

2. 如何让用ftp链接到linux

一般linux系统装的都是vsftp工具,默认情况下都不能用root账户通过ftp登录主机的,但是可以通过更改vsftp的配置文件来使得可以使用root账户登录ftp: 在/etc/vsftpd目录下找到ftpusers的配置文件(有的主机这个文件是在/etc目录下的): [xuwangcheng14@root]# more ftpusers # /etc/ftpusers: list of users disallowed FTP access. See ftpusers(5). root daemon bin sys sync games man lp mail news uucp nobody这个文件上的用户名都是禁止登录ftp的,将文件中的root注释掉,然后重启下vsftp服务就可以了。

3. linux下怎样登录ftp服务器

1、首先,连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。

4. linux怎么使用ftp连接到服务器

和win下面一样的,直接ftp 服务器的IP,会提示你输入用户名和密码。

5. linux配置ftp服务器的过程

第一步:打开终端(快捷键是Ctrl+Alt+t),如果当前用户不是root用户,请输入命令“su”,然后输入root账户密码即可;
第二步:输入命令“apt-get update”,这一步是为了更新下载的数据源,如果不更新可能造成有几个后面的软件包无法下载;
第三步:输入命令“apt-get install vsftpd”完成安装vsftpd;
第四步:判断vsftp是否安装成功,输入命令“service vsftpd restart”重启vsftpd服务,如果他在运行状态说明安装成功;
第五步:新建“/home/uftp”目录作为用户主目录,输入命令“mkdir /home/uftp”回车 ,然后输入命令“ls /home”查看home目录下有uftp这个目录吗,如果有就是创建成功;
第六步:新建用户uftp并且设置密码,输入命令“useradd -d /home/uftp -s /bin/bash uftp”
回车,然后再输入命令“passwd uftp”回车,然后输入两次密码就设置ok了
第七步:使用vi修改配置文件/etc/vsftpd.conf,输入命令“vi /etc/vsftpd.conf”回车,
向文件中添加“userlist_deny=NO””userlist_enable=YES”?, “userlist_file=/etc/allowed_users”?,
“seccomp_sandbox=NO”,最后把文件中的“local_enable=YES”保存(如果提示无法保存,直接退出来,把读写和执行权限给这个文件,具体操作为:输入命令: “chmod 777 /etc/vsftpd.conf”回车就可以了);
第八步:新建文件/etc/allowed_users,输入命令“vi /etc/allowed_users”,打开后再这个文件内写入“uftp”保存即可;《Linux就该这么学》
第九步:查看/etc/ftpusers文件(不能访问ftp服务用户清单)的内容,输入命令“vi /etc/ftpusers”回车,如果里面有uftp,就把他删除;
第十步:安装winscp软件,进行远程登录访问;下载直接在网络下载就行

6. Linux 从A用sftp连接B

Linux 从A用sftp连接B的命令是:sftp -oPort=60001 [email protected]使用-o选项来指定端口号。-oPort=远程端口号sftp> get /var/www/fuyatao/index.php /home/fuyatao/。这条语句将从远程主机的 /var/www/fuyatao/目录下将 index.php。

然后下载到本地 /home/fuyatao/目录下。

sftp> put /home/fuyatao/downloads/Linuxgl.pdf/var/www/fuyatao/

这条语句将把本地 /home/fuyatao/downloads/目录下的 linuxgl.pdf文件上传至远程主机/var/www/fuyatao/ 目录下。

linuxftp远程连接命令是:

1. 连接ftp服务器:格式:ftp [hostname| ip-address]在linux命令行下输入:ftp 192.168.26.66
服务器询问你用户名和口令,分别输入用户名和相应密码,待认证通过即可。

2、下载文件:下载文件通常用get和mget这两条命令。a) get格式:get [remote-file] [local-file]
将文件从远端主机中传送至本地主机中。

3、上传文件:a) put格式:put local-file [remote-file],将本地一个文件传送至远端主机中。

4、断开连接:bye:中断与服务器的连接。ftp> bye (回车)。

7. 怎么通过linux访问服务器上的ftp

这个直接推荐你看看这里:http://www.linuxprobe.com/chapter-11.html

文件传输协议(FTP,File Transfer Protocol),即能够让用户在互联网中上传、下载文件的文件协议,而FTP服务器就是支持FTP传输协议的主机,要想完成文件传输则需要FTP服务端和FTP客户端的配合才行。
通常用户使用FTP客户端软件向FTP服务器发起连接并发送FTP指令,服务器收到用户指令后将执行结果返回客户端。

FTP协议占用两个端口号:
21端口:命令控制,用于接收客户端执行的FTP命令。
20端口:数据传输,用于上传、下载文件数据。
FTP数据传输的类型:
主动模式:FTP服务端主动向FTP客户端发起连接请求。
被动模式:FTP服务端等待FTP客户端的连接请求。
11.2 安装vsftpd服务程序
Vsftpd即“Very Secure FTP Daemon”是一款运行在类Unix操作系统的FTP服务端程序,Vsftpd主打的是安全性、完全开源及免费、速率高、支持IPv6、虚拟用户功能等等其他FTP服务端软件不具备的功能。

安装vsftpd服务程序包:
[root@linuxprobe ~]# yum install vsftpd -y
Loaded plugins: langpacks, proct-id, subscription-manager
…………………省略部分安装过程………………
---> Package vsftpd.x86_64 0:3.0.2-9.el7 will be installed
--> Finished Dependency Resolution
…………………省略部分安装过程…………………
Installed:
vsftpd.x86_64 0:3.0.2-9.el7
Complete!

清空默认的防火墙默认规则:
[root@linuxprobe ~]# iptables -F

保存清空后的防火墙规则表:
[root@linuxprobe ~]# service iptables save

Vsftpd的程序与配置文件:
主程序 /usr/sbin/vsftpd
用户禁止登陆列表 /etc/vsftpd/ftpusers
/etc/vsftpd/user_list
主配置文件 /etc/vsftpd/vsftpd.conf

先来分析下vsftpd程序的主配置文件吧:
[root@linuxprobe ~]# cat /etc/vsftpd/vsftpd.conf
主配置文件长达123行,但大部分是以#号开始的,这些都是注释信息,我们可以过滤掉它们。
备份vsftpd的主配置文件:
[root@linuxprobe ~]# mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak

过滤掉所有包含#号的行,并将过滤结果写回到vsftpd.conf文件中:
[root@linuxprobe ~]# grep -v "#" /etc/vsftpd/vsftpd.conf_bak > /etc/vsftpd/vsftpd.conf

此时再分析下vsftpd程序的主配置文件吧:
[root@linuxprobe ~]# cat /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

vsftpd程序配置文件参数的作用:
参数 作用
listen=[YES|NO] 是否以独立运行的方式监听服务。
listen_address=IP地址 设置要监听的IP地址。
listen_port=21 设置FTP服务的监听端口。
download_enable=[YES|NO] 是否允许下载文件。
userlist_enable=[YES|NO]
userlist_deny=[YES|NO] 是否启用“禁止登陆用户名单”。
max_clients=0 最大客户端连接数,0为不限制。
max_per_ip=0 同一IP地址最大连接数,0位不限制。
anonymous_enable=[YES|NO] 是否允许匿名用户访问。
anon_upload_enable=[YES|NO] 是否允许匿名用户上传文件。
anon_umask=022 匿名用户上传文件的umask值。
anon_root=/var/ftp 匿名用户的FTP根目录。
anon_mkdir_write_enable=[YES|NO] 是否允许匿名用户创建目录。
anon_other_write_enable=[YES|NO] 是否开放匿名用户其他写入权限。
anon_max_rate=0 匿名用户最大传输速率(字节),0为不限制。
local_enable=[YES|NO] 是否允许本地用户登陆FTP。
local_umask=022 本地用户上传文件的umask值。
local_root=/var/ftp 本地用户的FTP根目录。
chroot_local_user=[YES|NO] 是否将用户权限禁锢在FTP目录,更加的安全。
local_max_rate=0 本地用户最大传输速率(字节),0为不限制。

11.3 Vsftpd的验证方式
vsftpd程序提供的FTP服务可选认证方式,分别为匿名访问、本地用户和虚拟用户:
匿名访问:任何人无需验证口令即可登入FTP服务端。
本地用户:使用FTP服务器中的用户、密码信息。
虚拟用户:创建独立的FTP帐号资料。
顾名思义匿名访问就是所有人均可随意登入FTP服务,这样自然会产生安全问题,一般用于存放公开的数据。
而本地用户与虚拟用户则需要用户提供帐号及口令后才能登入FTP服务,更加的安全,而虚拟用户则是最安全的。
下面的实验环节将使用两台红帽RHEL7系统的主机,读者需要提前配置网卡的IP地址等信息:
主机名称 操作系统 IP地址
FTP服务端 红帽RHEL7操作系统 192.168.10.10
FTP客户端 红帽RHEL7操作系统 192.168.10.20

11.3.1 匿名访问模式
FTP匿名访问模式是比较不安全的服务模式,尤其在真实的工作环境中千万不要存放敏感的数据,以免泄露。
vsftpd程序默认已经允许匿名访问模式,我们要做的就是开启匿名用户的上传和写入权限,写入下面的参数:
[root@linuxprobe ~]# vim /etc/vsftpd/vsftpd.conf

参数 作用
anonymous_enable=YES 允许匿名访问模式。
anon_umask=022 匿名用户上传文件的umask值。
anon_upload_enable=YES 允许匿名用户上传文件
anon_mkdir_write_enable=YES 允许匿名用户创建目录
anon_other_write_enable=YES 允许匿名用户修改目录名或删除目录

确认填写正确后保存并退出vsftpd.conf文件,然后重启vsftpd服务程序并设置为开机自启动。
[root@linuxprobe ~]# systemctl restart vsftpd
[root@linuxprobe ~]# systemctl enable vsftpd
ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service
因为在红帽RHCSA、RHCE或RHCA考试后都要重启您的实验机再执行判分脚本
所以请读者在日常工作中也要记得将需要的服务加入到开机启动项中:"systemctl enable vsftpd"。
如果重启vsftpd服务程序时没有报错,此时便可以使用FTP客户机(192.168.10.20)尝试登入FTP服务了。
ftp命令用于使用FTP服务,格式为:“ftp [参数] [FTP主机]”。
红帽RHEL7系统中ftp命令默认没有安装,请执行"yum install ftp -y"即可安装完毕。
在客户端尝试登入FTP服务:
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): anonymous
331 Please specify the password.
Password:敲击回车
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir files
550 Permission denied.

上面操作中已经将防火墙规则清空,在vsftpd.conf文件中也已经允许匿名用户创建目录与写入权限,那怎么会被拒绝了呢?
这里建议读者先不要往下看,思考后用自己的方法解决下这个问题,长期这样你的Linux的排错能力一定会练出来的。
回想前面的参数细节,匿名访问模式的FTP根目录为/var/ftp:
[root@linuxprobe ~]# ls -ld /var/ftp/pub
drwxr-xr-x. 3 root root 16 Jul 13 14:38 /var/ftp/pub

原来匿名用户的FTP根目录所有者/组都是root,所以匿名用户没有写入权限,那我们将所有者修改为ftp试试吧。
[root@linuxprobe ~]# chown ftp /var/ftp/pub

此时再用ftp命令尝试登入FTP服务并创建文件:
ftp> mkdir files
550 Create directory operation failed.

可恶!又报错了!!虽然这次报错代码还是550,但前面提示权限拒绝,这次是操作失败,马上想到是SELinux服务在捣鬼。
查看所有与ftp相关的SELinux规则:
[root@linuxprobe ~]# getsebool -a | grep ftp
ftp_home_dir --> off
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
sftpd_anon_write --> off
sftpd_enable_homedirs --> off
sftpd_full_access --> off
sftpd_write_ssh_home --> off
tftp_anon_write --> off
tftp_home_dir --> off

设置SELinux服务对ftp服务的访问规则策略为允许。
[root@linuxprobe ~]# setsebool -P ftpd_full_access=on

此时再来创建文件或目录就没有问题了:
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): anonymous
331 Please specify the password.
Password:敲击回车
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir files
257 "/pub/files" created
ftp> rename files database
350 Ready for RNTO.
250 Rename successful.
ftp> rmdir database
250 Remove directory operation successful.
ftp> exit
221 Goodbye.

请注意:当您完成本实验后请还原虚拟机快照再进行下一个实验,否则可能导致配置文件冲突而报错。
11.3.2 本地用户模式
既然要使用本地用户模式,而本地用户模式确实要比匿名访问模式更加的安全,所以本实验中会关闭匿名访问模式。
vsftpd服务程序默认已经允许本地用户模式,我们要做的是添加设置本地用户模式权限的参数:
[root@linuxprobe ~]# vim /etc/vsftpd/vsftpd.conf

参数 作用
anonymous_enable=NO 禁止匿名访问模式。
local_enable=YES 允许本地用户模式。
write_enable=YES 设置可写入权限。
local_umask=022 本地用户模式创建文件的umask值。
userlist_deny=YES 参数值为YES即禁止名单中的用户,参数值为NO则代表仅允许名单中的用户。
userlist_enable=YES 允许“禁止登陆名单”,名单文件为ftpusers与user_list。

确认填写正确后保存并退出vsftpd.conf文件,然后重启vsftpd服务程序并设置为开机自启动。
[root@linuxprobe ~]# systemctl restart vsftpd
[root@linuxprobe ~]# systemctl enable vsftpd
ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service
因为在红帽RHCSA、RHCE或RHCA考试后都要重启您的实验机再执行判分脚本。
所以请读者在日常工作中也要记得将需要的服务加入到开机启动项中:”systemctl enable vsftpd“。
如果重启vsftpd服务程序时没有报错,此时便可以使用FTP客户机(192.168.10.20)尝试登入FTP服务了~
我们先来看下ftpusers或user_list文件中禁止登陆用户名单:
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
vsftpd服务为了让FTP服务更加的安全,默认禁止以root身份登入,那么创建个普通用户吧:
[root@linuxprobe ~]# useradd linuxprobe

为linuxprobe用户设置密码:
[root@linuxprobe ~]# passwd linuxprobe
Changing password for user linuxprobe.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

在客户端尝试登入FTP服务:
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): linuxprobe
331 Please specify the password.
Password:输入用户的本地密码
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mkdir files
550 Create directory operation failed.

有了上面配置匿名访问模式的经验,这次再遇到了“操作被拒绝”,应该马上想到SELinux了吧。
查看所有与ftp相关的SELinux规则:
[root@linuxprobe ~]# getsebool -a | grep ftp
ftp_home_dir --> off
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
sftpd_anon_write --> off
sftpd_enable_homedirs --> off
sftpd_full_access --> off
sftpd_write_ssh_home --> off
tftp_anon_write --> off
tftp_home_dir --> off

设置SELinux对FTP服务的规则为允许:
[root@linuxprobe ~]# setsebool -P ftpd_full_access=on

此时再来创建文件或目录就没有问题了:
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): linuxprobe
331 Please specify the password.
Password:输入用户本地密码
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mkdir files
257 "/home/linuxprobe/files" created
ftp> rename files database
350 Ready for RNTO.
250 Rename successful.
ftp> rmdir database
250 Remove directory operation successful.
ftp> exit
221 Goodbye.

8. 虚拟机linux怎么连接外部ftp

下面是在虚拟机中的linux的ftp的基本配置(redhat AS 4.0为例): 首先要安装linux下的vsftp软件包。 rpm -qagerp vsftpd //查找vsftpd有没有安装 如果没有安装就 vsftpd-2.0.1-5.i386.rpm (在第一张光盘) 在linux中有一个非常重要的一点就是要挂载光驱 mount /media/cdrom 在这里我们就不用源代码安装了。用的是rpm安装 #rpm -ivh vsftpd-2.0.1-5.i386.rpm 这里就安装好了。 service vsftpd start 启动vsftpd服务 如果在不设置任何的情况下,可以以匿名的方式访问该ftp。 注.如果访问不了的时候请大家要把linux的防火墙也要关闭: iptables -F 清除防火墙 在安装好ftp会产生几个文件: /etc/vsftpd/vsftpd.conf 主配置文件 /etc/vsftpd.ftpusers 指定哪些用户不能访问FTP服务器 /etc/vsftpd.user_list 文件中指定的用户是否可以访问ftp服务器由vsftpd.conf文件中的userlist_deny的取值来决定。 这几个文件就是整个ftp控制和禁止用户的权限配置。。。 下面我们就来设置一个vsftpd的核心文件 # cd /etc/vsftpd/vsftpd.conf 这就是vsftpd的核心配置文件 anonymous_enable=YES/no 是否允许匿名用户登录 anonymous_enable=yes/no 是否允许匿名上传文件 local_enable= YES/no 是否允许本地用户登录 write_enable= YES/no 是否允许本地用户上传 guest_enable=yes/no 是否允许虚拟用户登录; local_mask=022 设置本地用户的文件生成掩码为022,默认值为077 dirmessage_enable= YES 设置切换到目录时显示.message隐含文件的内容 xferlog_enable= YES 激活上传和下载日志 connect_from_port_20=YES 启用FTP数据端口连接 pam_service_name=vsftpd 设置PAM认证服务的配置文件名称, 该文件存放在/etc/pam.d目录下 userlist_enable= YES 允许vsftpd.user_list文件中的用户访问服务器 userlist_deny= YES 拒绝vsftpd.user_list文件中的用户访问服务器 listen= YES/no 是否使用独占启动方式(这一项比较重要) tcp_wrappers= YES/no 是否使用tcp_wrappers作为主机访问控制方式 最主要的就是这些设置了。(这是一般都是默认的不是太懂的不要动) 大家可以设置下面的设置: ftpd_banner=welcome to ftp service 设置连接服务器后的欢迎信息 idle_session_timeout=60 限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒) data_connection_timeout=120 设置客户机在进行数据传输时,设置空闲的数据中断时间 accept_timeout=60 设置在多长时间后自动建立连接 connect_timeout=60 设置数据连接的最大激活时间,多长时间断开,为别人所使用; max_clients=200 指明服务器总的客户并发连接数为200 max_per_ip=3 指明每个客户机的最大连接数为3 local_max_rate=50000(50kbytes/sec) anon_max_rate=30000 设置本地用户和匿名用户的最大传输速率限制 pasv_min_port=端口 pasv-max-prot=端口号 定义最大与最小端口,为0表示任意端口;为客户端连接指明端口; listen_address=IP地址 设置ftp服务来监听的地址,客户端可以用哪个地址来连接; listen_port=端口号 设置FTP工作的端口号,默认的为21 chroot_local_user=YES 设置所有的本地用户可以chroot chroot_local_user=NO 设置指定用户能够chroot chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list(只有/etc/vsftpd.chroot_list中的指定的用户才能执行) local_root=path 无论哪个用户都能登录的用户,定义登录帐号的主目录, 若没有指定,则每一个用户则进入到个人用户主目录; chroot_local_user=yes/no 是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user,不能利用cd命令向上转;只能向下; chroot_list_enable=yes/no 锁定指定文件中用户的主目录(部分),文件:/chroot_list_file=path 中指定; userlist_enable=YES/NO 是否加载用户列表文件; userlist_deny=YES 表示上面所加载的用户是否允许拒绝登录; userlist_file=/etc/vsftpd.user_list 列表文件 这些就是高级设置了。大家可以适当的更改。 #vi /etc/hosts.allow vsftpd:192.168.5.128:DENY 设置该IP地址不可以访问ftp服务(vsftpd在独占启动方式下支持tcp_wrappers主机访问控制方式) 时间限制: #cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd #vi /etc/xinetd.d/vsftpd/ 修改 disable = no access_time = hour:min-hour:min (添加配置访问的时间限制(注:与vsftpd.conf中listen=NO相对应) 例: access_time = 8:30-11:30 17:30-21:30 表示只有这两个时间段可以访问ftp 配置文件是 /etc/vsftpd/vsftpd.conf 按如下编辑此文件,编辑文件当然用vi了 1)实现匿名用户的上传下载文件 程序代码: Anonymous_enable=yes 匿名登陆 Connect_form_port_20=yes 启用FTP数据端口的数据连接 Pam_service_name=vsftpd 验证方式 Listen=yes 独立的VSFTPD服务器 这样你就可以实现匿名登陆ftp了,但还不能上传文件 程序代码: Anon_upload_enable=yes 开放上传权限 Anon_mkdir_write_enable=yes 可创建目录的同时可以在此目录中上传文件 Write_enable=yes 开放本地用户写的权限 Anon_other_write_enable=yes 匿名帐号可以有删除的权限 加上上面的这段,你就可以实现匿名ftp的上传下载文件了 然后你保存文件,用service vsftpd start来启动vsftp的服务,然后就可以用ftp了 注意:确定你的防火墙 iptables上打开21端口,不然在登陆ftp的时候会提示socket错误,拒绝连接。还有就是当你再次编辑vsftp.conf后用 service vsftpd restart重起的时候总是提示你不能关闭vsftp服务,这时候你用service vsftpd status察看一下他的状态,如果提示你vsftpd被locked 那可能是因为你的vsftpd.conf中配置的有错误,你要重新编辑他,直到能正常重起他为止,一次配置不对,多配置几次就好了 2)实现本地用户上传下载 程序代码: 新建一个用户 adser 用户名 增加一个用户 passwd 用户名 增加用户的密码 然后看/etc/passwd中最后一行就是你刚才添加的用户信息 然后编辑/etc/vsftpd/vsftpd.conf文件, Local_enable=yes 允许使用本地用户来登陆ftp 在/etc/vsftpd.ftpuser中可以增加想要阻止登陆ftp的用户 限制用户只能在自己的目录中 Chroot_list_enable=yes 文件中的名单可以调用 Chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no,在文件中加入用户名 vsftpd.conf的参数 程序代码: Anonymous_enable=yes 允许匿名登陆 Dirmessage_enable=yes 切换目录时,显示目录下.message的内容 Local_umask=022 FTP上本地的文件权限,默认是077 Connect_form_port_20=yes 启用FTP数据端口的数据连接 Xferlog_enable=yes 激活上传和下传的日志 Xferlog_std_format=yes 使用标准的日志格式 Ftpd_banner=XXXXX 显示欢迎信息 Pam_service_name=vsftpd 验证方式 Listen=yes 独立的VSFTPD服务器 Anon_upload_enable=yes 匿名用户上传权限 Anon_mkdir_write_enable=yes 创建目录的同时可以在此目录中上传文件 Write_enable=yes 本地用户写的权限 Anon_other_write_enable=yes 匿名帐号可以有删除的权限 Anon_world_readable_only=no 匿名用户浏览权限 Ascii_upload_enable=yes 启用上传的ASCII传输方式 Ascii_download_enable=yes 启用下载的ASCII传输方式 Banner_file=/var/vsftpd_banner_file 用户连接后欢迎信息使用的是此文件中的相关信息 Idle_session_timeout=600(秒) 用户会话空闲后10分钟 Data_connection_timeout=120(秒) 将数据连接空闲2分钟断 Accept_timeout=60(秒) 将客户端空闲1分钟后断 Connect_timeout=60(秒) 中断1分钟后又重新连接 Local_max_rate=50000(bite) 本地用户传输率50K Anon_max_rate=30000(bite) 匿名用户传输率30K Pasv_min_port=5000 将客户端的数据连接端口改在 Pasv_max_port=6000 5000—6000之间 Max_clients=200 FTP的最大连接数 Max_per_ip=4 每IP的最大连接数 Listen_port=5555 从5555端口进行数据连接 Local_enble=yes 本地帐户能够登陆 Write_enable=no 本地帐户登陆后无权删除和修改文件 Chroot_local_user=yes 本地所有帐户都只能在自家目录 Chroot_list_enable=yes 文件中的名单可以调用 Chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no Userlist_enable=yes 在指定的文件中的用户不可以访问 Userlist_deny=yes Userlist_file=/etc/vsftpd.user_list Banner_fail=/路径/文件名 连接失败时显示文件中的内容 Ls_recurse_enable=no Async_abor_enable=yes one_process_model=yes Listen_address=10.2.2.2 将虚拟服务绑定到某端口 Guest_enable=yes 虚拟用户可以登陆 Guest_username=所设的用户名 将虚拟用户映射为本地用户 Chown_uploads=yes 改变上传文件的所有者为root Chown_username=root Deny_email_enable=yes 是否允许禁止匿名用户使用某些邮件地址 Banned_email_file=//任意指定的路径/xx/ Pasv_enable=yes 服务器端用被动模式 User_config_dir=/任意指定的路径//任意文件目录指定虚拟用户存放配置文件的路径

9. 如何使用ftp连接linux虚拟机

下面是在虚拟机中的linux的ftp的基本配置(redhat AS 4.0为例):
首先要安装linux下的vsftp软件包。
rpm -qa|gerp vsftpd //查找vsftpd有没有安装
如果没有安装就 vsftpd-2.0.1-5.i386.rpm (在第一张光盘)
在linux中有一个非常重要的一点就是要挂载光驱 mount /media/cdrom
在这里我们就不用源代码安装了。用的是rpm安装
#rpm -ivh vsftpd-2.0.1-5.i386.rpm
这里就安装好了。
service vsftpd start 启动vsftpd服务
如果在不设置任何的情况下,可以以匿名的方式访问该ftp。
注.如果访问不了的时候请大家要把linux的防火墙也要关闭:
iptables -F 清除防火墙
在安装好ftp会产生几个文件:
/etc/vsftpd/vsftpd.conf 主配置文件
/etc/vsftpd.ftpusers 指定哪些用户不能访问FTP服务器
/etc/vsftpd.user_list 文件中指定的用户是否可以访问ftp服务器由vsftpd.conf文件中的userlist_deny的取值来决定。
这几个文件就是整个ftp控制和禁止用户的权限配置。。。
下面我们就来设置一个vsftpd的核心文件
# cd /etc/vsftpd/vsftpd.conf 这就是vsftpd的核心配置文件
anonymous_enable=YES/no 是否允许匿名用户登录
anonymous_enable=yes/no 是否允许匿名上传文件
local_enable= YES/no 是否允许本地用户登录
write_enable= YES/no 是否允许本地用户上传
guest_enable=yes/no 是否允许虚拟用户登录;
local_mask=022 设置本地用户的文件生成掩码为022,默认值为077
dirmessage_enable= YES 设置切换到目录时显示.message隐含文件的内容
xferlog_enable= YES 激活上传和下载日志
connect_from_port_20=YES 启用FTP数据端口连接
pam_service_name=vsftpd 设置PAM认证服务的配置文件名称, 该文件存放在/etc/pam.d目录下
userlist_enable= YES 允许vsftpd.user_list文件中的用户访问服务器
userlist_deny= YES 拒绝vsftpd.user_list文件中的用户访问服务器
listen= YES/no 是否使用独占启动方式(这一项比较重要)
tcp_wrappers= YES/no 是否使用tcp_wrappers作为主机访问控制方式
最主要的就是这些设置了。(这是一般都是默认的不是太懂的不要动)
大家可以设置下面的设置:
ftpd_banner=welcome to ftp service 设置连接服务器后的欢迎信息
idle_session_timeout=60 限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒)
data_connection_timeout=120 设置客户机在进行数据传输时,设置空闲的数据中断时间
accept_timeout=60 设置在多长时间后自动建立连接
connect_timeout=60 设置数据连接的最大激活时间,多长时间断开,为别人所使用;
max_clients=200 指明服务器总的客户并发连接数为200
max_per_ip=3 指明每个客户机的最大连接数为3
local_max_rate=50000(50kbytes/sec)
anon_max_rate=30000 设置本地用户和匿名用户的最大传输速率限制
pasv_min_port=端口
pasv-max-prot=端口号 定义最大与最小端口,为0表示任意端口;为客户端连接指明端口;
listen_address=IP地址 设置ftp服务来监听的地址,客户端可以用哪个地址来连接;
listen_port=端口号 设置FTP工作的端口号,默认的为21
chroot_local_user=YES 设置所有的本地用户可以chroot
chroot_local_user=NO 设置指定用户能够chroot
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list(只有/etc/vsftpd.chroot_list中的指定的用户才能执行)
local_root=path 无论哪个用户都能登录的用户,定义登录帐号的主目录, 若没有指定,则每一个用户则进入到个人用户主目录;
chroot_local_user=yes/no 是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user,不能利用cd命令向上转;只能向下;
chroot_list_enable=yes/no 锁定指定文件中用户的主目录(部分),文件:/chroot_list_file=path 中指定;
userlist_enable=YES/NO 是否加载用户列表文件;
userlist_deny=YES 表示上面所加载的用户是否允许拒绝登录;
userlist_file=/etc/vsftpd.user_list 列表文件
这些就是高级设置了。大家可以适当的更改。
#vi /etc/hosts.allow
vsftpd:192.168.5.128:DENY 设置该IP地址不可以访问ftp服务(vsftpd在独占启动方式下支持tcp_wrappers主机访问控制方式)
时间限制:
#cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd
#vi /etc/xinetd.d/vsftpd/
修改 disable = no
access_time = hour:min-hour:min (添加配置访问的时间限制(注:与vsftpd.conf中listen=NO相对应)
例: access_time = 8:30-11:30 17:30-21:30 表示只有这两个时间段可以访问ftp

配置文件是 /etc/vsftpd/vsftpd.conf 按如下编辑此文件,编辑文件当然用vi了
1)实现匿名用户的上传下载文件
程序代码:
Anonymous_enable=yes 匿名登陆
Connect_form_port_20=yes 启用FTP数据端口的数据连接
Pam_service_name=vsftpd 验证方式
Listen=yes 独立的VSFTPD服务器

这样你就可以实现匿名登陆ftp了,但还不能上传文件
程序代码:
Anon_upload_enable=yes 开放上传权限
Anon_mkdir_write_enable=yes 可创建目录的同时可以在此目录中上传文件
Write_enable=yes 开放本地用户写的权限
Anon_other_write_enable=yes 匿名帐号可以有删除的权限
加上上面的这段,你就可以实现匿名ftp的上传下载文件了
然后你保存文件,用service vsftpd start来启动vsftp的服务,然后就可以用ftp了
注意:确定你的防火墙 iptables上打开21端口,不然在登陆ftp的时候会提示socket错误,拒绝连接。还有就是当你再次编辑vsftp.conf后用 service vsftpd restart重起的时候总是提示你不能关闭vsftp服务,这时候你用service vsftpd status察看一下他的状态,如果提示你vsftpd被locked 那可能是因为你的vsftpd.conf中配置的有错误,你要重新编辑他,直到能正常重起他为止,一次配置不对,多配置几次就好了
2)实现本地用户上传下载
程序代码:
新建一个用户
adser 用户名 增加一个用户
passwd 用户名 增加用户的密码
然后看/etc/passwd中最后一行就是你刚才添加的用户信息
然后编辑/etc/vsftpd/vsftpd.conf文件,
Local_enable=yes 允许使用本地用户来登陆ftp
在/etc/vsftpd.ftpuser中可以增加想要阻止登陆ftp的用户
限制用户只能在自己的目录中
Chroot_list_enable=yes 文件中的名单可以调用
Chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no,在文件中加入用户名

vsftpd.conf的参数
程序代码:
Anonymous_enable=yes 允许匿名登陆
Dirmessage_enable=yes 切换目录时,显示目录下.message的内容
Local_umask=022 FTP上本地的文件权限,默认是077
Connect_form_port_20=yes 启用FTP数据端口的数据连接
Xferlog_enable=yes 激活上传和下传的日志
Xferlog_std_format=yes 使用标准的日志格式
Ftpd_banner=XXXXX 显示欢迎信息
Pam_service_name=vsftpd 验证方式
Listen=yes 独立的VSFTPD服务器
Anon_upload_enable=yes 匿名用户上传权限
Anon_mkdir_write_enable=yes 创建目录的同时可以在此目录中上传文件
Write_enable=yes 本地用户写的权限
Anon_other_write_enable=yes 匿名帐号可以有删除的权限
Anon_world_readable_only=no 匿名用户浏览权限
Ascii_upload_enable=yes 启用上传的ASCII传输方式
Ascii_download_enable=yes 启用下载的ASCII传输方式
Banner_file=/var/vsftpd_banner_file 用户连接后欢迎信息使用的是此文件中的相关信息
Idle_session_timeout=600(秒) 用户会话空闲后10分钟
Data_connection_timeout=120(秒) 将数据连接空闲2分钟断
Accept_timeout=60(秒) 将客户端空闲1分钟后断
Connect_timeout=60(秒) 中断1分钟后又重新连接
Local_max_rate=50000(bite) 本地用户传输率50K
Anon_max_rate=30000(bite) 匿名用户传输率30K
Pasv_min_port=5000 将客户端的数据连接端口改在
Pasv_max_port=6000 5000—6000之间
Max_clients=200 FTP的最大连接数
Max_per_ip=4 每IP的最大连接数
Listen_port=5555 从5555端口进行数据连接
Local_enble=yes 本地帐户能够登陆
Write_enable=no 本地帐户登陆后无权删除和修改文件
Chroot_local_user=yes 本地所有帐户都只能在自家目录
Chroot_list_enable=yes 文件中的名单可以调用
Chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no
Userlist_enable=yes 在指定的文件中的用户不可以访问
Userlist_deny=yes
Userlist_file=/etc/vsftpd.user_list
Banner_fail=/路径/文件名 连接失败时显示文件中的内容
Ls_recurse_enable=no
Async_abor_enable=yes
one_process_model=yes
Listen_address=10.2.2.2 将虚拟服务绑定到某端口
Guest_enable=yes 虚拟用户可以登陆
Guest_username=所设的用户名 将虚拟用户映射为本地用户
Chown_uploads=yes 改变上传文件的所有者为root
Chown_username=root
Deny_email_enable=yes 是否允许禁止匿名用户使用某些邮件地址
Banned_email_file=//任意指定的路径/xx/
Pasv_enable=yes 服务器端用被动模式
User_config_dir=/任意指定的路径//任意文件目录指定虚拟用户存放配置文件的路径

10. linux下ftp命令详解

ftp(file transfer protocol)
功能说明:设置文件系统相关功能。
语法:ftp [-dignv][主机名称或IP地址]
补充说明:FTP是ARPANet的标准文件传输协议,该网络就是现今Internet的前身。
参数: 《Linux就该这么学》
-d 详细显示指令执行过程,便于排错或分析程序执行的情形。

-i 关闭互动模式,不询问任何问题。
-g 关闭本地主机文件名称支持特殊字符的扩充特性。
-n 不使用自动登陆。
-v 显示指令执行过程。
1. 连接ftp服务器
格式:ftp [hostname| ip-address]
a)在linux命令行下输入:
ftp 192.168.1.1
b)服务器询问你用户名和密码,分别输入用户名和相应密码,待认证通过即可。
c)也可以先输入ftp
ftp>
d)然后在输入要连接的IP
ftp>open 192.168.1.1
2. 下载文件
下载文件通常用get和mget这两条命令。
a) get
格式:get [remote-file] [local-file]
将文件从远端主机中传送至本地主机中。
如要获取远程服务器上/usr/your/1.htm,则
ftp> get /usr/your/1.htm 1.htm (回车)

b) mget
格式:mget [remote-files]
从远端主机接收一批文件至本地主机。
如要获取服务器上/usr/your/下的所有文件,则
ftp> cd /usr/your/
ftp> mget *.* (回车)

此时每下载一个文件,都会有提示。如果要除掉提示,则在mget *.* 命令前先执行:prompt off
注意:文件都下载到了linux主机的当前目录下。比如,在/usr/my下运行的ftp命令,则文件都下载到了/usr/my下。
3.上传文件
a) put
格式:put local-file [remote-file]
将本地一个文件传送至远端主机中。
如要把本地的1.htm传送到远端主机/usr/your,并改名为2.htm
ftp> put 1.htm /usr/your/2.htm (回车)

b) mput
格式:mput local-files
将本地主机中一批文件传送至远端主机。
如要把本地当前目录下所有html文件上传到服务器/usr/your/ 下
ftp> cd /usr/your (回车)
ftp> mput *.htm(回车)