导航:首页 > IDC知识 > linux下安装ftp服务器

linux下安装ftp服务器

发布时间:2020-10-20 02:34:52

1、如何知道Linux上是否安装FTP服务

|有几种方法:
1.命令的方法:
ps -aux | grep ftpd
netstat -na | grep 21
看看有没有启动。
2.在界面模式下查版看ftp服务有没有开启,比如权suse Linux的,在yast中就能看到
3.你用ftp软件看看能否连到系统。这方法缺点明显,要是配置错了也连不上,呵呵。

建议采用第一种,直接用命令查看。

2、linux下怎么安装ftp服务器

1、检查安装vsftpd软件
使用如下命令#rpm -qa |grep vsftpd可以检测出是否安装了vsftpd软件,
如果没有安装,使用YUM命令进行安装。

2、启动服务
使用vsftpd软件,主要包括如下几个命令:
启动ftp命令#service vsftpd start
停止ftp命令#service vsftpd stop
重启ftp命令#service vsftpd restart

3、vsftpd的配置
ftp的配置文件主要有三个,位于/etc/vsftpd/目录下,分别是:
ftpusers 该文件用来指定那些用户不能访问ftp服务器。
user_list 该文件用来指示的默认账户在默认情况下也不能访问ftp
vsftpd.conf vsftpd的主配置文件
4、以匿名用户为例,我们去掉配置文件vsftpd.conf 里面以下
anon_upload_enable=YES
anon_mkdir_write_enable=YES
两项前面的#号,就可以完成匿名用户的配置,此时匿名用户既可以登录上传、下载文件。记得修改配置文件后需要重启服务。

5、非匿名账户的创建与使用
vsftpd服务与系统用户是相互关联的,例如我们创建一个名为test 的系统用户,那么此用户在默认配置的情况下就可以实现登录,如图

登录后在页面创建名为“aa”的文件夹,同样我们在服务器test用户 的home目录里也可以看到相同的文件。

3、LINUX下如何测试ftp服务器

1、安装vsftpd

[root@rusky bmp]# yum install vsftpd --必须配置yum源才能使用yum命令来安装vsftpd,或者挂载光盘,找到Packages目录下的vsftpd包,使用rpm命令安装 
……
Installed:
  vsftpd.x86_64 0:2.0.5-24.el5                                                                    
Complete!

2、vsftpd服务的启动及关闭

[root@rusky bmp]# chkconfig --list vsftpd
vsftpd   0:off   1:off   2:off   3:off   4:off   5:off   6:off[root@rusky bmp]# chkconfig --level 35 vsftpd on
[root@rusky bmp]# service vsftpd restart    --启动/关闭命令为:service vsftpd start/stop    
Shutting down vsftpd: [FAILED]
Starting vsftpd for vsftpd: [  OK  ]
[root@rusky bmp]# service vsftpd status
vsftpd (pid 5087) is running...
[root@rusky bmp]#

3、测试ftp服务器的连接

G: estftp>ftp  -或者直接:ftp IP/主机名连接
ftp> open 192.168.1.200
连接到 192.168.1.200。
220 (vsFTPd 2.0.5)
用户(192.168.1.200:(none)): root    --默认不能使用root用户
530 Permission denied.
登录失败。
ftp> open 192.168.1.200
已经连接到了 192.168.1.200,请首先使用断开连接。
ftp> disconnect
221 Goodbye.
ftp> open 192.168.1.200
连接到 192.168.1.200。
220 (vsFTPd 2.0.5)
用户(192.168.1.200:(none)): oracle
331 Please specify the password.
密码:
230 Login successful.
ftp> loc
无效命令。
ftp> lcd
目前的本地目录 G: estftp。
ftp>

4、Linux下如何找到FTP服务器的配置文件

1、Linux系统下vsftp安装。

2、Linux系统下打开ftp配置文件。

3、Linux系统下编辑配置文件。

4、Linux系统下启动vsftpd服务。

5、Linux系统下关闭防火墙,关闭selinux。

6、Linux系统下建立测试帐号jiang。

7、Linux系统下登录访问。

8、Linux系统下本地用户默认有上传权限,如上传ceshi目录。

5、如何在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服务的基本搭建过程,实际使用时可以分配多个用户

6、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

7、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项,保存后退出.

8、Linux下如何找到FTP服务器的配置文件

1、Linux系统下vsftp安装。

2、Linux系统下打开ftp配置文件。

3、Linux系统下编辑配置文件。

4、Linux系统下启动vsftpd服务。

5、Linux系统下关闭防火墙,关闭selinux。

6、Linux系统下建立测试帐号jiang。

7、Linux系统下登录访问。

8、Linux系统下本地用户默认有上传权限,如上传ceshi目录。

9、linux 里没有ftp服务 怎么安装?

Linux中的ftp服务器一般是安装vsftp。以centos为例,具体操作如下:

1、运行yum install vsftpd命令
命令具体的细节如下:
[[email protected]]# yum install vsftpd
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
–> Running transaction check
—> Package vsftpd.i386 0:2.0.5-12.el5 set to be updated
filelists.xml.gz 100% |=========================| 648 kB 02:46
http://ftp.hostrino.com/pub/centos/5.2/os/i386/repodata/filelists.xml.gz: [Errno 4] Socket Error: timed out
Trying other mirror.
filelists.xml.gz 100% |=========================| 2.8 MB 00:21
filelists.xml.gz 100% |=========================| 1.1 MB 00:12
filelists.xml.gz 100% |=========================| 132 kB 00:01
filelists.xml.gz 100% |=========================| 150 B 00:00
–> Finished Dependency Resolution

Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
vsftpd i386 2.0.5-12.el5 base 137 k

Transaction Summary
=============================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

Total download size: 137 k
Is this ok [y/N]: y
Downloading Packages:
(1/1): vsftpd-2.0.5-12.el 100% |=========================| 137 kB 00:01
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897
Importing GPG key 0xE8562897 “CentOS-5 Key (CentOS 5 Official Signing Key) <[email protected]>” from http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: vsftpd ######################### [1/1]

Installed: vsftpd.i386 0:2.0.5-12.el5
Complete!
[root@localhost ~]#

2、将 /etc/vsftpd/user_list文件和/etc/vsftpd/ftpusers文件中的root这一行注释掉
#root

3、执行以下命令
# setsebool -P ftpd_disable_trans=1
修改/etc/vsftpd/vsftpd.conf,在最后一行处添加local_root=/
4、/sbin/service iptables stop (linux是虚拟机的话要运行这个一句)
5、/sbin/service vsftpd restart

一下是对配置文件中一些参数的说明:
centOS vsftpd建FTP,配置文件有三:
/etc/ftpusers
/etc/vsftpd.user_list
/etc/vsftpd/vsftpd.conf 这个是主配置文件,,

/etc/vsftpd/vsftpd.conf vsftpd.conf 默认配置:

anonymous_enable=YES 允许匿名登录
local_enable=YES 允许本地用户登录
write_enable=YES 开放本地用户写权限
local_umask=022 设置本地用户生成文件的掩码为022
#anon_upload_enable=YES 此项设置允许匿名用户上传文件
#anon_mkdir_write_enable=YES 开启匿名用户的写和创建目录的权限
dirmessage_enable=YES 当切换到目录时,显示该目录下的.message隐藏文件的内容
xferlog_enable=YES 激活上传和下载日志
connect_from_port_20=YES 启用FTP数据端口的连接请求
#chown_uploads=YES 是否具有上传权限. 用户由chown_username参数指定。
#chown_username=whoever 指定拥有上传文件权限的用户。此参数与chown_uploads联用。
#xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES 使用标准的ftpd xferlog日志格式
#idle_session_timeout=600 此设置将在用户会话空闲10分钟后被中断
#data_connection_timeout=120 将在数据连接空闲2分钟后被中断
#ascii_upload_enable=YES 启用上传的ASCII传输方式
#ascii_download_enable=YES 启用下载的ASCII传输方式
#ftpd_banner=Welcome to blah FTP service 设置用户连接服务器后显示消息
#deny_email_enable=NO
此参数默认值为NO。当值为YES时,拒绝使用banned_email_file参数指定文件中所列出的e-mail地址用户登录。
#banned_email_file=/etc/vsftpd.banned_emails 指定包含拒绝的e-mail地址的文件.
#chroot_list_enable=YES 设置本地用户登录后不能切换到自家目录以外的别的目录
#chroot_list_file=/etc/vsftpd.chroot_list
#ls_recurse_enable=YES
pam_service_name=vsftpd
设置PAM认证服务的配置文件名称,该文件存放在/etc/pam.d/
userlist_enable=YES
此项配置/etc/vsftpd.user_list中指定的用户也不能访问服务器,若添加userlist_deny=No,则仅仅/etc /vsftpd.user_list
文件中的用户可以访问,其他用户都不可以访问服务器。如过 userlist_enable=NO,userlist_deny=YES,则指定使文件/etc/vsftpd.user_list中指定的用户不可以访问服务器,其他本地用户可以访问服务器。
listen=YES 指明VSFTPD以独立运行方式启动
tcp_wrappers=YES 在VSFTPD中使用TCP_Wrappers远程访问控制机制,默认值为YES

10、如何检测linux系统下ftp服务器是否开启

检测linux系统下ftp服务器是否开启的方法如下:

1、第一步,打开一台Linux的电脑,进入到输入shell指令版的命令行状态下,权如下图所示。

2、第二步,使用键盘在命令行中输入:”service vsftp status“这个指令,指令的意思是查看ftp服务器的状态,如下图所示。

3、第三步,输入完成之后,点击”回车键“运行该指令,就会显示ftp服务器的开关状态,比如下图就是“inactive”状态,表示ftp服务器处于关闭状态,如下图所示。

与linux下安装ftp服务器相关的知识