1、LINUX下如何测试ftp服务器
1、安装vsftpd
[root@rusky bmp]# yum install vsftpd --必须配置yum源才能使用yum命令来安装vsftpd,或者挂载光盘,找到Packages目录下的vsftpd包,使用rpm命令安装2、vsftpd服务的启动及关闭
[root@rusky bmp]# chkconfig --list vsftpd3、测试ftp服务器的连接
2、linux下ftp服务器的上传下载的过程
LinuxftpFTP是ARPANet的标准文件传输协议,该网络就是现今Internet的前身。通常我们使用ftp命令,主要是上传和下载文件,ftp登陆的用户一般都是一些虚拟用户,因为这是出于安全考虑。
语法:ftp[-dignv][主机名称或IP地址]
参数:
-v显示指令执行过程。
-n不使用自动登陆。
-g关闭本地主机文件名称支持特殊字符的扩充特性。
-i关闭互动模式,不询问任何问题。
-d详细显示指令执行过程,便于排错或分析程序执行的情形。
例子:登录124.16.144.120,命令
[root@localhostlane6]$ftp124.16.144.120
Connectedto124.16.144.120.
220(vsFTPd2.0.5)
530PleaseloginwithUSERandPASS.
530PleaseloginwithUSERandPASS.
KERBEROS_
Name(124.16.144.120:root):anonymous#用户名
331Pleasespecifythepassword.#用户密码
Password:
230Loginsuccessful.
RemotesystemtypeisUNIX.
.
下载文件通常用get和mget这两条命令
a)get
格式:get[remote-file][local-file]
将文件从远端主机中传送至本地主机中.
如要获取服务器上c:\a\1.jpg,则
ftp>get/a/1.jpg1.jpg(回车)
b)mget
格式:mget[remote-files]
从远端主机接收一批文件至本地主机.
如要获取服务器上E:\a\下的所有文件,则
ftp>cd/a
ftp>mget*.*(回车)
ftp下输入prompt命令,批量获取则不在一一提示。
注意:文件都下载到了linux主机的当前目录下。比如,在 /root/web下运行的ftp命令,则文件都下载到了/root/web下。
3.上传文件
a)put
格式:putlocal-file[remote-file]
将本地一个文件传送至远端主机中.
如要把本地的1.jpg传送到远端主机c:\a,并改名为2.gif
ftp>put1.jpg/a/2.gif(回车)
b)mput
格式:mputlocal-files
将本地主机中一批文件传送至远端主机.
如要把本地当前目录下所有bmp文件上传到服务器c:\a下
ftp>cd/a(回车)
ftp>mput*.jpg (回车)
注意:上传文件都来自于主机的当前目录下。比如,在 /root/web下运行的ftp命令,则只有在/root/web下的文件linux才会上传到服务器c:\a下。
linux教程:Linuxshell中使用ftp自动下载上传文件
FTP自动登录批量下载文件
从ftp服务器192.168.1.171上的/home/data到本地的/home/databackup
!/bin/bash
ftp-v-n192.168.1.171
userguest123456
binary
cd/home/data
lcd/home/databackup
prompt
mget*
close
bye
FTP自动登录批量上传文件
从ftp服务器192.168.1.171上的/home/data到本地的/home/databackup
#!/bin/bash
ftp-v-n192.168.1.171<<END
userguest123456
binary
hash
cd/home/data
lcd/home/databackup
prompt
mput*
bye
END
3、LINUX 下如何开启 ftp 服务器
1. 首先服务器要安装ftp软件,查看是否已经安装ftp软件下:
#which vsftpd
如果看到有vsftpd的目录说明服务器已经安装了ftp软件
2. 查看ftp 服务器状态
#service vsftpd status
3. 启动ftp服务器
#service vsftpd start
4. 重启ftp服务器
#service vsftpd restart
5. 查看服务有没有启动
#netstat -an | grep 21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
如果看到以上信息,证明ftp服务已经开启。
6.如果需要开启root用户的ftp权限要修改以下两个文件
#vi /etc/vsftpd.ftpusers中注释掉root
#vi /etc/vsftpd.user_list中也注释掉root
然后重新启动ftp服务。
7. vsftpd 500 OOPS: cannot change directory
登陆报错:
C:\>ftp 192.168.0.101
Connected to 192.168.0.101.
220 (vsFTPd 2.0.5)
User (192.168.0.101:(none)): frank
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/frank
Login failed.
ftp> ls
500 OOPS: child died
Connection closed by remote host.
解决方法:
setsebool ftpd_disable_trans 1
service vsftpd restart
就OK了!
这是SELinux的设置命令,在不熟悉SELnux前,把SELinux关掉也可以的。
8. 永久开启,即os重启后自动开启ftp服务
方法一:
cd /etc/xinetd.d ,编辑ftp服务的配置文件gssftp的设置:
vi /etc/xinetd.d/gssftp ,将 修改两项内容:
(a) server_args = -l –a 去掉-a 改为server_args = -l
(b) disable=yes改为disable=no
(c) 保存退出。
方法二:
(a) system-config-services , 进入图形界面的System services查看是否有 vsftpd项,如果没有转到2.,保存后退出
(b) 用redhat第三张盘 安装此服务(开始--删除/增加程序),200K左右
(c) #setup
此时能看到vsftpd项,此时选中此services项,保存后退出.
4、如何在linux服务器中安装ftp服务器
在创建FTP服务器之有先命令: ps -ef |grep vsftpd
查一下系统有没有安装vsftpd这个服务器,如果出现如下图所示的界面说明没有安装。
然后再执行:yum install vsftpd -y
进行在线安装vsftpd这个服务。
安装成功以后需要把匿名登陆的这个功能关闭了。
使用命令: vim /etc/vsftpd/vsftpd.conf
然后在里成找到:
anonymous_enable=NO
然后再查看一下vsftpd这个服务有没有启动。
使用命令: chkconfig --list
如果你如下图所示一样没有启动。
没有启动使用启动:chkconfig --level 35 vsftpd on
再接下来就是创建用户名。
创建用户名:useradd jingyan
再然后就是创建密码。
命令:passwd jingyan
再输入两次密码就可以了。
最后重启一下服务:service vsftpd start
如果出现启动失败则可以使用:/etc/rc.d/init.d/vsftpd restart
8
成功链接FTP服务器上。
5、Linux下如何找到FTP服务器的配置文件
1、Linux系统下vsftp安装。
2、Linux系统下打开ftp配置文件。
3、Linux系统下编辑配置文件。
4、Linux系统下启动vsftpd服务。
5、Linux系统下关闭防火墙,关闭selinux。
6、Linux系统下建立测试帐号jiang。
7、Linux系统下登录访问。
8、Linux系统下本地用户默认有上传权限,如上传ceshi目录。
6、linux创建ftp服务器的基本命令
1.先挂装光来盘 mount /dev/cdrom /media
2.然后切换到源media目录下 cd /media/Server
3.安装 vsftpd 软件 rpm -ivh vsftpd*.rpm
4.安装完以后通过配置 /etc/vsftpd/vsftpd.conf 文件来决定ftp是匿名的还是本地的
7、如何检测linux系统下ftp服务器是否开启
检测linux系统下ftp服务器是否开启的方法如下:
1、第一步,打开一台Linux的电脑,进入到输入shell指令版的命令行状态下,权如下图所示。
2、第二步,使用键盘在命令行中输入:”service vsftp status“这个指令,指令的意思是查看ftp服务器的状态,如下图所示。
3、第三步,输入完成之后,点击”回车键“运行该指令,就会显示ftp服务器的开关状态,比如下图就是“inactive”状态,表示ftp服务器处于关闭状态,如下图所示。
8、如何在linux系统下的搭建 FTP服务器
FTP服务器配置VSFTP主配置文件路径:/etc/vsftpd/vsftpd.conf,重要参数:
anonymous_enable=yes/no 是否允许匿名用户访问
anon_upload_enable=yes/no 是否允许匿名用户上传文件
anon_mkdir_write_enable=yes/no 是否允许匿名用户创建目录
anon_other_write_enable=yes/no 匿名用户和虚拟用户是否拥有删除权限
local_enable=yes/no 是否允许本地用户登陆
write_enable=yes/no 设置全局是否可写
anon_root=/var 指定匿名用户目录
chroot_local_user=yes 锁定所有用户到用户主目录
chroot_list_enable=yes/no 锁定列表中的用户到主目录,需要配合下一参数使用
chroot_list_file=/etc/vsftpd/chroot_list 指定存储被锁定用户的列表文件位置
chown_uploads=yes/no 匿名用户上传所有者指定功能,需要与下一参数配合使用
chown_username=用户名 指定匿名用户上传文件的所有者
max_clients=300 最大客户端连接数为300
anon_max_rate=30000 匿名用户和虚拟用户限速为30K/S
local_max_rate=30000 本地用户限速为30K/S
max_per_ip=10 每个IP最大连接数
listen_port=22 更改监听端口
实现如下要求:允许匿名用户登陆,匿名用户限速为60K/S,只允许下载。监听端口为22,最大连接数为10。新建用户ftp1,限速为200K/S,允许上传下载删除新建文件夹。进入目录/etc/vsftpd,用vi编辑器打开vsftpd.conf主配置文件:
直接添加以下选项: [root@LidadeFedora vsftpd]# service vsftpd restart
添加用户ftp1,设置登录脚本为 /sbin/nologin:
vsftp默认目录为:/var/ftp,为方便测试,在/var/ftp下新建一个文件"testLocal",在"/var/ftp/pub"新建一个文件"testAnon"。
由于使用root用户新建文件,文件的所有者为root,所以需要把文件的权限设置为644其他用户才能读取该文件
9、如何在linux下开启FTP服务
Linux下ftp服务可以通过搭建vsftpd服务来实现,以CentOS为例,首先查看系统中是否安装了vsftpd,可以通过执行命令 rpm -qa |grep vsftpd 来查看是否安装相应的包,如果没有安装那么可以执行 yum -y install vsftpd 来安装,安装之后首先创建ftp用户,比如ftp_test,命令如下:
useradd -s /sbin/nologin -d /home/ftp_test ftp_test目录尽量不要选择根目录下,这里是/home/ftp_test,并且ftp_test这个目录不要手动创建,否则权限会有问题,执行命令的时候会自动创建,
可以看到权限现在是对于ftp_test用户是可读可写可执行的,其他用户和组下面的都没有任何权限,现在为ftp_test用户创建密码:
passwd ftp_test
执行之后输入2次密码确认就设置好了密码
然后编辑vsftpd配置文件,位置是:vim /etc/vsftpd/vsftpd.conf
找到anonymous_enable这个配置项,默认是YES,修改成NO,表示不允许匿名用户登录
现在直接保存配置文件,执行 systemctl start vsftpd.service 启动vsftp服务,然后可以通过命令: systemctl status vsftpd.service 查看ftp服务的运行状态,现在就可以用ftp客户端进行连接了,这里用FileZilla测试,连接正常
现在基本的ftp服务就部署完了,客户端可以正常上传,下载,修改文件;但是这样有个问题就是所有的目录都暴露给客户端了,虽然客户端不能随意修改删除其余的文件,但是因为目录可见,所以总会有一些风险,所以接下来还需要配置让ftp用户只在自己的家目录下面活动,而无法查看其它任何目录,同样是打开配置文件/etc/vsftpd/vsftpd.conf,找到chroot_local_user=YES这个配置,默认是注释的,这里去掉注释,表示只让用户在自己的目录里面活动,如果只是保存这一个配置的话,用ftp连接客户端会返回500 OOPS: vsftpd: refusing to run with writable root inside chroot()的错误,即禁止运行在可写的家目录中,因为刚才ftp_test这个目录有w权限,而现在我们使用的vsftpd版本是3.0.2 属于比较新的版本,为了安全性做了一些限制,如果你此时想通过 chmod a-w /home/ftp_test 来去掉目录的写权限,那么连接成功是没问题的,但是无法上传文件了,所以网上很多说修改权限的方法是不可取的,正确的做法是应该在下面添加一行配置allow_writeable_chroot=YES表示允许对家目录的写权限,具体配置如下:
配置完这两项以后保存退出,然后执行 systemctl restart vsftpd.service 重启vsftpd服务,现在重新使用ftp连接就成功了,并且任何操作也是没问题的
现在可以看到上面的路径是一个/,对于ftp用户来说也就是根目录了,只能在这个目录下操作,而无法跳出这个目录
以上就是vsftpd服务的基本搭建过程,实际使用时可以分配多个用户
10、linux下怎样登录ftp服务器
1、首先,连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。
2、其次,在linux命令行中输入:ftp 10.18.34.115。
3、最后,按下回车键执行shell指令,此时会看到已成功连接上ftp服务,可输入ftp命令了。