CentOS 6.3 FTP 安装vsftp 虚拟用户设置全解

本文涉及的产品
运维安全中心(堡垒机),免费版 6个月
日志服务 SLS,月写入数据量 50GB 1个月
简介:

一、准备安装

环境:CentOS 6.3

安装:Minimal(最小)

注意:修改时区和时间

 

所需要的软件:vsftp   http   pam  db4-devel   ftp(客户端安装包)


二、安装:

1.安装Vsftpd服务相关部件:

[root@server ~]# rpm -qa |grep vsftp

 

[root@server ~]# yum install vsftpd* -y

 

2.确认安装PAM服务相关部件:

[root@server ~]# rpm -qa |grep pam

[root@server ~]# yum install pam*   

开发包,其实不装也没有关系,主要的目的是确认PAM。

 

3.安装DB4部件包:

这里要特别安装一个db4的包,用来支持文件数据库。

[root@server ~]# rpm -qa |grep db4

[root@server ~]# yum install db4*

确保DB4 工具包安装:db4-utils-4.7.25-17.el6.i686


4.安装http软件包:

 [root@server ~]# yum install httpd*  


三、系统帐户

1.建立系统帐户:

[root@server ~]# useradd ftp01

[root@server ~]# passwd ftp01

更改用户 ftp01 的密码 。

新的 密码:

无效的密码: 它没有包含足够的不同字符

无效的密码: 是回文

重新输入新的 密码:

passwd: 所有的身份验证令牌已经成功更新。


2.建立Vsftpd服务的宿主用户:

[root@server ~]#useradd vsftpd -s /sbin/nologin

默认的Vsftpd的服务宿主用户是root,但是这不符合安全性的需要。这里建立名字为vsftpd的用户,用他来作为支持Vsftpd的服务宿主用户。由于该用户仅用来支持Vsftpd服务用,因此没有许可他登陆系统的必要,并设定他为不能登陆系统的用户。

 

3.建立Vsftpd虚拟宿主用户:

[root@server ~]#useradd virtusers -s /sbin/nologin

本篇主要是介绍Vsftp的虚拟用户,虚拟用户并不是系统用户,也就是说这些FTP的用户在系统中是不存在的。他们的总体权限其实是集中寄托在一个在系统中的某一个用户身上的,所谓Vsftpd的虚拟宿主用户,就是这样一个支持着所有虚拟用户的宿主用户。由于他支撑了FTP的所有虚拟的用户,那么他本身的权限将会影响着这些虚拟的用户,因此,处于安全性的考虑,也要非分注意对该用户的权限的控制,该用户也绝对没有登陆系统的必要,这里也设定他为不能登陆系统的用户。

 

四、调整Vsftpd的配置文件

1.编辑配置文件前先备份

[root@server ~]#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.confbak

 

编辑主配置文件vsftpd.conf

[root@server ~]#vim /etc/vsftpd/vsftpd.conf

 

这里我将原配置文件的修改完全记录,凡是修改的地方我都会保留注释原来的配置。其中加入我对每条配置项的认识,对于一些比较关键的配置项这里我做了我的观点,并且原本英语的说明我也不删除,供参考对比用。

------------------------------------------------------------------------------

# Example config file /etc/vsftpd/vsftpd.conf

#

# The default compiled in settings are fairly paranoid. This sample file

# loosens things up a bit, to make the ftp daemon more usable.

# Please see vsftpd.conf.5 for all compiled in defaults.

#

# READ THIS: This example file is NOT an exhaustive list of vsftpd options.

# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's

# capabilities.

#

# Allow anonymous FTP? (Beware - allowed by default if you comment this out).

#anonymous_enable=YES

anonymous_enable=NO    //设定不允许匿名访问

#

# Uncomment this to allow local users to log in.

local_enable=YES        //设定本地用户可以访问。注意:主要是为虚拟宿主用户,www.linuxidc.com如果该项目设定为NO那么所有虚拟用户将无法访问。

#

# Uncomment this to enable any form of FTP write command.

write_enable=YES       //设定可以进行写操作。

#

# Default umask for local users is 077. You may wish to change this to 022,

# if your users expect that (022 is used by most other ftpd's)

local_umask=022       //设定上传后文件的权限掩码。

#

# Uncomment this to allow the anonymous FTP user to upload files. This only

# has an effect if the above global write enable is activated. Also, you will

# obviously need to create a directory writable by the FTP user.

#anon_upload_enable=YES

anon_upload_enable=NO        //禁止匿名用户上传。

#

# Uncomment this if you want the anonymous FTP user to be able to create

# new directories.

#anon_mkdir_write_enable=YES

anon_mkdir_write_enable=NO    //禁止匿名用户建立目录。

#

# Activate directory messages - messages given to remote users when they

# go into a certain directory.

dirmessage_enable=YES         //设定开启目录标语功能。

#

# Activate logging of uploads/downloads.

xferlog_enable=YES            //设定开启日志记录功能。

#

# Make sure PORT transfer connections originate from port 20 (ftp-data).

connect_from_port_20=YES      //设定端口20进行数据连接。

#

# If you want, you can arrange for uploaded anonymous files to be owned by

# a different user. Note! Using "root" for uploaded files is not

# recommended!

#chown_uploads=YES

chown_uploads=NO           //设定禁止上传文件更改宿主。

#chown_username=whoever

 

chroot_local_user=YES        //设定登陆后.只可以访问自己的属主目录.不可访问上一层目录文件

#

# You may override where the log file goes if you like. The default is shown

# below.

xferlog_file=/var/log/vsftpd.log      //设定Vsftpd的服务日志保存路径。注意,该文件默认不存在。必须要手动touch出来,并且由于这里更改了Vsftpd的服务宿主用户为手动建立的Vsftpd。必须注意给与该用户对日志的写入权限,否则服务将启动失败。

#

# If you want, you can have your log file in standard ftpd xferlog format

xferlog_std_format=YES          //设定日志使用标准的记录格式。

#

# You may change the default value for timing out an idle session.

#idle_session_timeout=600      //设定空闲连接超时时间,这里使用默认。将具体数值留给每个具体用户具体指定,当然如果不指定的话,还是使用这里的默认值600,单位秒。

#

# You may change the default value for timing out a data connection.

#data_connection_timeout=120      //设定单次最大连续传输时间,这里使用默认。将具体数值留给每个具体用户具体指定,当然如果不指定的话,还是使用这里的默认值120,单位秒。

#

# It is recommended that you define on your system a unique user which the

# ftp server can use as a totally isolated and unprivileged user.

#nopriv_user=ftpsecure

nopriv_user=vsftpd       //设定支撑Vsftpd服务的宿主用户为手动建立的Vsftpd用户。注意,一旦做出更改宿主用户后,必须注意一起与该服务相关的读写文件的读写赋权问题。比如日志文件就必须给与该用户写入权限等。

#

# Enable this and the server will recognise asynchronous ABOR requests. Not

# recommended for security (the code is non-trivial). Not enabling it,

# however, may confuse older FTP clients.

async_abor_enable=YES     //设定支持异步传输功能。

#

# By default the server will pretend to allow ASCII mode but in fact ignore

# the request. Turn on the below options to have the server actually do ASCII

# mangling on files when in ASCII mode.

# Beware that on some FTP servers, ASCII support allows a denial of service

# attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd

# predicted this attack and has always been safe, reporting the size of the

# raw file.

# ASCII mangling is a horrible feature of the protocol.

ascii_upload_enable=YES         //设定支持ASCII模式的上传功能。

ascii_download_enable=YES      //设定支持ASCII模式的下载功能。

#

# You may fully customise the login banner string:

ftpd_banner=Welcome to blah FTP service ^_^    //设定Vsftpd的登陆标语。

#

# You may specify a file of disallowed anonymous e-mail addresses. Apparently

# useful for combatting certain DoS attacks.

#deny_email_enable=YES

# (default follows)

#banned_email_file=/etc/vsftpd/banned_emails

#

# You may specify an explicit list of local users to chroot() to their home

# directory. If chroot_local_user is YES, then this list becomes a list of

# users to NOT chroot().

#chroot_list_enable=YES

chroot_list_enable=NO     //禁止用户登出自己的FTP主目录。

# (default follows)

#chroot_list_file=/etc/vsftpd/chroot_list

#

# You may activate the "-R" option to the builtin ls. This is disabled by

# default to avoid remote users being able to cause excessive I/O on large

# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume

# the presence of the "-R" option, so there is a strong case for enabling it.

#ls_recurse_enable=YES

ls_recurse_enable=NO       //禁止用户登陆FTP后使用"ls -R"的命令。该命令会对服务器性能造成巨大开销。如果该项被允许,那么挡多用户同时使用该命令时将会对该服务器造成威胁。

# When "listen" directive is enabled, vsftpd runs in standalone mode and

# listens on IPv4 sockets. This directive cannot be used in conjunction

# with the listen_ipv6 directive.

listen=YES    //设定该Vsftpd服务工作在StandAlone模式下。顺便展开说明一下,所谓StandAlone模式就是该服务拥有自己的守护进程支持,在ps -A命令下我们将可用看到vsftpd的守护进程名。如果不想工作在StandAlone模式下,则可以选择SuperDaemon模式,在该模式下vsftpd将没有自己的守护进程,而是由超级守护进程Xinetd全权代理,与此同时,Vsftp服务的许多功能将得不到实现。

#

# This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6

# sockets, you must run two copies of vsftpd whith two configuration files.

# Make sure, that one of the listen options is commented !!

#listen_ipv6=YES

 

pam_service_name=vsftpd     //设定PAM服务下Vsftpd的验证配置文件名。因此,PAM验证将参考/etc/pam.d/下的vsftpd文件配置。

userlist_enable=YES           //设定userlist_file中的用户将不得使用FTP。

tcp_wrappers=YES        //设定支持TCP Wrappers。#KC: The following entries are added for supporting virtual ftp users.

 

注意:

以下这些是关于Vsftpd虚拟用户支持的重要配置项目。默认Vsftpd.conf中不包含这些设定项目,需要自己手动添加配置。

guest_enable=YES            //设定启用虚拟用户功能。

guest_username=virtusers     //指定虚拟用户的宿主用户。


virtual_use_local_privs=YES    //设定虚拟用户的权限符合他们的宿主用户。

user_config_dir=/etc/vsftpd/vconf   //设定虚拟用户个人Vsftp的配置文件存放路径。也就是说,这个被指定的目录里,将存放每个Vsftp虚拟用户个性的配置文件,一个需要注意的地方就是这些配置文件名必须和虚拟用户名相同。保存退出。

 :wq

 

[root@server ~]# service vsftpd start/restart/sotp  // Vsftp启动/重新启动/停止

[root@server ~]# chkconfig vsftpd on    //设置FTP为开机自动启动

[root@server ~]# service httpd restart

[root@server ~]# chkconfig httpd on

[root@server ~]# chkconfig iptables off   //关闭防火墙

[root@server ~]# vim /etc/selinux/config  //关闭SELinux



# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#     enforcing - SELinux security policy is enforced.

#     permissive - SELinux prints warnings instead of enforcing.

#     disabled - No SELinux policy is loaded.

SELINUX=disabled   //修改

# SELINUXTYPE= can take one of these two values:

#     targeted - Targeted processes are protected,

#     mls - Multi Level Security protection.

SELINUXTYPE=targeted

:wq   //保存

 

[root@server ~]# netstat -anp|grep :21

tcp        0      0 0.0.0.0:21        0.0.0.0:*           LISTEN      1446/vsftpd  

 

 [root@server ~]# reboot     //重启后生效



3.建立Vsftpd的日志文件,并更该属主为Vsftpd的服务宿主用户:

[root@server ~]# touch /var/log/vsftpd.log

[root@server ~]# chown vsftpd.vsftpd /var/log/vsftpd.log

 -rw-------. 1 vsftpd vsftpd      0 9月  10 16:39 vsftpd.log


4.建立虚拟用户配置文件存放路径:

[root@server ~]# mkdir /etc/vsftpd/vconf/

 drwxr-xr-x  2 root root 4096 9月  10 16:59 vconf


五、制作虚拟用户数据库文件

1.先建立虚拟用户名单文件:

[root@server ~]# cd /etc/vsftpd/

[root@server vsftpd]# touch virtusers

建立了一个虚拟用户名单文件,这个文件就是来记录vsftpd虚拟用户的用户名和口令的数据文件,

这里给它命名为virtusers。为了避免文件的混乱,我把这个名单文件就放置在/etc/vsftpd/下。

 

2.编辑虚拟用户名单文件:

[root@server vsftpd]# vim virtusers

----------------------------

ftp001     用户名

123456     密码

ftp002     用户名

123456     密码

ftp003     用户名

123456     密码

----------------------------

编辑这个虚拟用户名单文件,在其中加入用户的用户名和口令信息。格式很简单:“一行用户名,一行口令”。


3.生成虚拟用户数据文件:

[root@server vsftpd]#db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db

[root@server vsftpd]# chmod 600 virtusers.db //设置认证文件的权限为root可读可写


这里我顺便把这个命令简单说明一下:

----------------------------------------------------------------------

4.察看生成的虚拟用户数据文件

[root@server ~]# ll /etc/vsftpd/vsftpd_login.db

-rw-------  1 root root 12288 9月  10 17:15 virtusers.db 


需要特别注意的是,以后再要添加虚拟用户的时候,只需要按照“一行用户名,一行口令”的格式将新用户名和口令添加进虚拟用户名单文件。但是光这样做还不够,不会生效的哦!还要再执行一遍“ db_load -T -t hash -f 虚拟用户名单文件虚拟用户数据库文件.db ”的命令使其生效才可以!

 

六、设定PAM验证文件,并指定虚拟用户数据库文件进行读取

1.察看原来的vsftp的PAM验证配置文件:

[root@server ~]# vim /etc/pam.d/vsftpd   (pam文件)

----------------------------------------------------------------

#%PAM-1.0

session    optional     pam_keyinit.so    force revoke

auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed

auth       required     pam_shells.so

auth       include      password-auth

account    include      password-auth

session    required     pam_loginuid.so

session    include      password-auth

----------------------------------------------------------------

 

2.在编辑前做好备份:

[root@server ~]# cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.backup

3.编辑Vsftpd的PAM验证配置文件

[root@server ~]# vim /etc/pam.d/vsftpd

----------------------------------------------------------------

#%PAM-1.0

auth    required      /lib/security/pam_userdb.so     db=/etc/vsftpd/virtusers

account required      /lib/security/pam_userdb.so     db=/etc/vsftpd/virtusers

以上两条是手动添加的,上面的全部加#注释了.内容是对虚拟用户的安全和帐户权限进行验证。

 注意:

!!!!!!!这里有个要注意说明的:如果系统是64位系统在这里的所有lib后面要加入64!!!!!!

!!!!!!!如下这样才可以:

#%PAM-1.0

auth    required      /lib64/security/pam_userdb.so     db=/etc/vsftpd/virtusers

account required      /lib64/security/pam_userdb.so     db=/etc/vsftpd/virtusers

 

七、虚拟用户的配置

1.规划好虚拟用户的主路径:

[root@server ~]# mkdir /opt/vsftp/

总用量 4

drwxr-xr-x 2 root root 4096 9月  10 17:26 vsftp 

2.建立测试用户的FTP用户目录:

[root@server ~]#mkdir /opt/vsftp/ftp001 /opt/vsftp/ftp002 /opt/vsftp/ftp003 /opt/vsftp/virtuser

 总用量 16

drwxr-xr-x 2 root root 4096 9月  10 17:26 ftp001

drwxr-xr-x 2 root root 4096 9月  10 17:26 ftp002

drwxr-xr-x 2 root root 4096 9月  10 17:26 ftp003

drwxr-xr-x 2 root root 4096 9月  10 17:26 virtuser


3.建立虚拟用户配置文件模版:

[root@server ~]# cp /etc/vsftpd/vsftpd.conf.bak /etc/vsftpd/vconf/vconf.tmp

 

4.定制虚拟用户模版配置文件:

[root@server ~]# vim /etc/vsftpd/vconf/vconf.tmp

--------------------------------

local_root=/opt/vsftp/virtuser

virtuser                   //这个就是以后要指定虚拟的具体主路径。

anonymous_enable=NO      //设定不允许匿名用户访问。

write_enable=YES           //设定允许写操作。

local_umask=022            //设定上传文件权限掩码。

anon_upload_enable=NO     //设定不允许匿名用户上传。

anon_mkdir_write_enable=NO    //设定不允许匿名用户建立目录。

idle_session_timeout=600        //(根据用户要求.可选)设定空闲连接超时时间。

data_connection_timeout=120    //设定单次连续传输最大时间。

max_clients=10     //(根据用户要求.可选)设定并发客户端访问个数。

max_per_ip=5     //(根据用户要求.可选)设定单个客户端的最大线程数,这个配置主要来照顾Flashget、迅雷等多线程下载软件。

local_max_rate=50000   //(根据用户要求.可选)设定该用户的最大传输速率,单位b/s。

pam_service_name=vsftpd

chroot_local_user=YES

:wq    //保存

--------------------------------

这里将原vsftpd.conf配置文件经过简化后保存作为虚拟用户配置文件的模版。这里将并不需要指定太多的配置内容,主要的框架和限制交由Vsftpd的主配置文件vsftpd.conf来定义,即虚拟用户配置文件当中没有提到的配置项目将参考主配置文件中的设定。而在这里作为虚拟用户的配置文件模版只需要留一些和用户流量控制,访问方式控制的配置项目就可以了。这里的关键项是local_root这个配置,用来指定这个虚拟用户的FTP主路径。

 

典型的配置项为参考:

  anon_world_readable_only=NO            //可以浏览目录和下载

  anon_upload_enable=YES                    //可以上传文件

  anon_mkdir_write_enable=YES            //可以建立和删除目录

  anon_other_write_enable=YES             //可以改名和删除文件

 

 [root@server vsftpd]# service vsftpd restart

关闭 vsftpd:                                              [确定]

为 vsftpd 启动 vsftpd:                                     [确定]


5.更改虚拟用户的主目录的属主为虚拟宿主用户:

[root@server ~]# chown -R virtusers.virtusers /opt/vsftp/

 drwxr-xr-x 6 virtusers virtusers 4096 9月  13 15:53 vsftp


6.检查权限:

[root@server ~]# ll /opt/vsftp/

总用量 12

drwxr-xr-x 2 virtusers virtusers 4096 9月  10 17:49 ftp001

drwxr-xr-x 2 virtusers virtusers 4096 9月  10 17:49 ftp002

drwxr-xr-x 2 virtusers virtusers 4096 9月  10 17:49 ftp003 

drwxr-xr-x 2 virtusers virtusers 4096 9月  10 17:49 virtuser


八、给测试用户定制(这里只举例说明:ftp001)

1.创建虚拟用户模版配置文件:

[root@server ~]# touch /etc/vsftpd/vconf/ftp001

2.针对具体用户进行定制:

[root@server ~]# vim /etc/vsftpd/vconf/ftp001

添加下面内容:

---------------------------------

local_root=/opt/vsftp/ftp001            // (FTP用户ftp001 的登陆目录文件)

anonymous_enable=NO

write_enable=YES

local_umask=022

anon_upload_enable=NO

anon_mkdir_write_enable=NO

idle_session_timeout=300

data_connection_timeout=90

max_clients=1

max_per_ip=1

local_max_rate=25000

pam_service_name=vsftpd

chroot_local_user=YES

---------------------------------

启动服务

[root@server ~]# service vsftpd restart     

关闭 vsftpd:                                              [确定]

为 vsftpd 启动 vsftpd:                                     [确定] 


九、测试:

1.在虚拟用户目录中预先放入文件:

[root@server ~]# touch /opt/vsftp/ftp001/test.txt

2.从其他机器作为客户端登陆FTP:

可以IE或FTP客户端软直接访问:

IE里输入 ftp://127.0.0.1 (服务器IP) ,弹出对话框后.输入FTP用户名和密码;


CentOS客户端连接vsftp测试

查看系统是否安装vsftp软件包:

[root@client ~]# rpm -qa |grep ftp

ftp-0.17-51.1.el6.i686

 

安装软件包

[root@client ~]# yum install ftp -y

[root@client ~]# ftp 10.1.4.44  

Connected to 10.1.4.44 (10.1.4.44).

220 Welcome to blah FTP service.

Name (10.1.4.44:root): 用户名

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp>

CentOS客户端连接成功!

----------------------------------

原因:虚拟用户再丰富,其实也是基于它们的宿主用户virtusers的,如果virtusers这个虚拟用户的宿主被限制住了,那么虚拟用户也将受到限制。

 

Linux ftp上传下载

 

1.下载文件通常用get和mget这两条命令。

a) get

格式:get [remote-file] [local-file]

将文件从远端主机中传送至本地主机中.

如要获取服务器上c:\a\1.jpg,则

ftp> get /a/1.jpg 1.jpg (回车)

 

b) mget

格式:mget [remote-files]

从远端主机接收一批文件至本地主机.

如要获取服务器上E:\a\下的所有文件,则

ftp> cd /a

ftp> mget *.* (回车)

 

ftp下输入prompt命令 ,批量获取则不在一一提示。

 

注意:文件都下载到了linux主机的当前目录下。比如,在/root/web下运行的ftp命令,则文件都下载到了/root/web下。

 

2.上传文件

a) put

格式:put local-file [remote-file]

将本地一个文件传送至远端主机中.

如要把本地的1.jpg传送到远端主机c:\a,并改名为2.gif

ftp> put 1.jpg /a/2.gif (回车)

 

b) mput

格式:mput local-files

将本地主机中一批文件传送至远端主机.

如要把本地当前目录下所有bmp文件上传到服务器c:\a 下

ftp> cd /a (回车)

ftp> mput *.jpg(回车)

注意:上传文件都来自于主机的当前目录下。比如,在/root/web下运行的ftp命令,则只有在/root/web下的文件linux才会上传到服务器c:\a 下。

 

FQA:

[root@server ~]# service vsftpd restart     

关闭 vsftpd:                                              [失败]

为 vsftpd 启动 vsftpd:500 OOPS: bad bool value in config file for: guest_enable

                                                           [失败]

问题 描述:

vim /etc/vsftpd/vsftpd.conf 时,每行的值都不要有空格,否则启动时会出现错误,举个例子,假如我在guest_enable=YES后多了个空格,那我启动时就出现错误;

guest_enable=YES

guest_username=virtua1

virtual_use_local_privs=YES

user_config_dir=/etc/vsftpd/vconf

解决方法:

在vim /etc/vsftpd/vsftpd.conf 时,每行的值后面都不要有空格.

 

补充:

1.要查看服务器自带的防火墙有无挡住FTP 21端口 导致不能访问

2.查看 SELinux 禁用没有.要禁用

3.500 OOPS:错误 有可能是你的vsftpd.con配置文件中有不能被实别的命令,还有一种可能是命令的YES 或 NO 后面有空格。

4.要仔细查看各个用到的文件夹权限,及用户属主权限等

 

1 如何新加FTP用户

打开密码文件里加入(一行是用户.一是密码.依次类推)

#vi /etc/vsftpd/virtusers

加入用户后 保存退出

 

#db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db   (然后生成新的虚拟用数据文件)

#cp /etc/vsftpd/vconf/vconf.tmp d          (新建d用户,用虚拟用户模板vconf.tmp文件生成d虚拟用户文件)

#vi /etc/vsftpd/vconf/d                    (打开D虚拟用户文件.在第一行最后加入该用户对应的FTP目录)

#mkdir /opt/vsftp/WWW                      (新建WWW目录为d FTP用户登陆目录)

#service vsftpd restart

-------------------------------------------------------

2 如何修改FTP 用户登陆密码

打开密码文件里加入(第一行是用户.第二是密码.依次类推,只要改对应用户下面的密码即可)

#vi /etc/vsftpd/virtusers   

#db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db   (然后生成新的虚拟用数据文件)

#service vsftpd restart

 

FTP 数字代码的意义 

110 重新启动标记应答。  

120 服务在多久时间内ready。  

125 数据链路埠开启,准备传送。  

150 文件状态正常,开启数据连接端口。  

200 命令执行成功。  

202 命令执行失败。  

211 系统状态或是系统求助响应。  

212 目录的状态。  

213 文件的状态。  

214 求助的讯息。  

215 名称系统类型。  

220 新的联机服务ready。  

221 服务的控制连接埠关闭,可以注销。  

225 数据连结开启,但无传输动作。  

226 关闭数据连接端口,请求的文件操作成功。  

227 进入passive mode。  

230 使用者登入。  

250 请求的文件操作完成。  

257 显示目前的路径名称。  

331 用户名称正确,需要密码。  

332 登入时需要账号信息。  

350 请求的操作需要进一部的命令。  

421 无法提供服务,关闭控制连结。  

425 无法开启数据链路。  

426 关闭联机,终止传输。  

450 请求的操作未执行。  

451 命令终止:有本地的错误。  

452 未执行命令:磁盘空间不足。  

500 格式错误,无法识别命令。  

501 参数语法错误。  

502 命令执行失败。  

503 命令顺序错误。  

504 命令所接的参数不正确。  

530 未登入。  

532 储存文件需要账户登入。  

550 未执行请求的操作。  

551 请求的命令终止,类型未知。  

552 请求的文件终止,储存位溢出。  

553 未执行请求的的命令,名称不正确。


 



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

相关文章
|
6天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
7天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
30天前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
68 1
Linux系统之Centos7安装cockpit图形管理界面
|
15天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
49 3
|
16天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
31 2
|
18天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
60 2
|
22天前
|
Linux 知识图谱
Centos7安装killall,fuser, killall,pstree和pstree.x11
通过上述步骤,您已在CentOS 7系统中成功部署了killall、fuser、pstree以及pstree.x11,为高效管理系统进程打下了坚实基础。更多关于服务器管理与优化的知识,获取全面技术支持与解决方案。
28 1
|
22天前
|
监控 安全 Linux
CentOS7下安装配置ntp服务的方法教程
通过以上步骤,您不仅能在CentOS 7系统中成功部署NTP服务,还能确保其配置合理、运行稳定,为系统时间的精确性提供保障。欲了解更多高级配置或遇到特定问题,提供了丰富的服务器管理和优化资源,可作为进一步学习和求助的平台。
48 1
|
4天前
|
存储 安全 Linux
VMware安装CentOS7
【11月更文挑战第11天】本文详细介绍了在 VMware 中安装 CentOS 7 的步骤,包括准备工作、创建虚拟机、配置虚拟机硬件和安装 CentOS 7。具体步骤涵盖下载 CentOS 7 镜像文件、安装 VMware 软件、创建和配置虚拟机硬件、启动虚拟机并进行安装设置,最终完成 CentOS 7 的安装。在安装过程中,需注意合理设置磁盘分区、软件选择和网络配置,以确保系统的性能和功能满足需求。
|
1月前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
229 3