阿里云 ECS 服务器 CentOS 7.4 搭建 LAMP WordPress 环境:vsftp 文件服务

三、搭建共享文件服务

本来只想搭建 Samba 服务的,但是 WordPress 有 FTP 的设置,而且如果你使用 Dreamweaver 来开发的话,也有 FTP 支持……!

NFS / Samba / FTP 都是文件服务器的。

鸟哥链接 : http://cn.linux.vbird.org/linux_server/

安装 FTP 服务

鸟哥 FTP 链接 :http://cn.linux.vbird.org/linux_server/0410vsftpd_1.php

阿里云 ECS 服务器 CentOS 7.4 搭建 LAMP WordPress 环境:vsftp 文件服务

鸟哥的 Linux 私房菜 — 服务器架设篇目录 FTP

vsftpdvsftpd 文档

开始安装 vsftpd 服务

查看 yum 上的版本

[root@~]# yum list | grep "vsftpd." vsftpd.x86_64                              3.0.2-22.el7               base       

安装 vsftpd

[root@~]# yum -y install vsftpd ...... Total download size: 169 k Installed size: 348 k Downloading packages: vsftpd-3.0.2-22.el7.x86_64.rpm           | 169 kB  00:00:00  Running transaction check Running transaction test Transaction test succeeded Running transaction   Installing : vsftpd-3.0.2-22.el7.x86_64          1/1    Verifying  : vsftpd-3.0.2-22.el7.x86_64          1/1   Installed:   vsftpd.x86_64 0:3.0.2-22.el7                                      Complete! 

查看安装完成的文件

[root@~]# ls /etc/ | grep "vsftpd" vsftpd  [root@~]# ls /etc/pam.d/ | grep "vsftpd" vsftpd  [root@~]# ls /var/ | grep "ftp" ftp  [root@~]# whereis vsftpd vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz 

查看服务

[root@~]# systemctl list-unit-files vsftpd.service UNIT FILE      STATE    vsftpd.service disabled  1 unit files listed. 

使能服务

[root@~]# systemctl enable vsftpd Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.  [root@~]# systemctl list-unit-files vsftpd.service UNIT FILE      STATE   vsftpd.service enabled  1 unit files listed.  

配置 vsftpd 服务

查看配置文件内容 vsftpd.conf

[root@~]# cat /etc/vsftpd/vsftpd.conf | grep -v "^ *#" | grep -v "^$" 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 

它一共分三种类型的设置:BOOLEAN OPTIONS(布尔型),NUMERIC OPTIONS(数字型),STRING OPTIONS(字符型);

一一解析……

anonymous_enable=YES // 控制匿名登录是否合法。如果是 YES,用户名是 ftp 和 anonymous都被识别为匿名登录;

local_enable=YES // 控制本地登录是否合法。如果是 YES,在 /etc/passwd 下的普通用户可以用于登录。这必须要允许任意的非匿名用户和虚拟用户可以登录进去进行工作。

write_enable=YES // 控制可以用于改变文件系统的 FTP 命令。这些命令是:STOR, DELE, RNFR, RNTO, MKD, RMD, APPE 和 SITE。

local_umask=022 // !这个值是为本地用户创建文件设置的掩码值。注意!如果你想要一个特殊的八进制值一定要使用“0”前缀,不然这个值会被当成十进制值处理。

dirmessage_enable=YES // 如果启用了,当 FTP 服务的用户第一次进入一个新的目录的时候会显示一些信息。默认的,一个目录是可以扫描到 .message 文件的,但是可以设置配置来覆盖 message_file.

xferlog_enable=YES //如果启用了,会有一个日志文件记录着上传和下载的详细细节。默认的,这个文件会放到 var/log/vsftpd.log 处,但是这个路径可以通过设置 vsftp_log_file 配置项来覆盖掉。

connect_from_port_20=YES // 这个是控制着在服务器里面是否使用端口号 20 (ftp-data)进行数据连接。出于安全的因素,一些客户会坚持使用这个端口进行数据连接。相反地,禁用此选项可使 vsftpd 以较低的权限运行。

xferlog_std_format=YES // 如果启用了,传输日志文件会以标准的 xferlog 的格式写入,就像 wu-ftp 所使用的格式一样。这是非常有用的,因为你可以重用已经存在的传输统计生成器。然而,默认地格式会更易读。这个样式的传输日志文件的默认路径在 /var/log/xferlog,但是你可以通过修改 xferlog_file 这个配置项来修改这个路径。

listen=NO // 如果启用了,vsftpd 会以独立模式运行。这意味着 vsftpd 不能在类似 inetd 上运行。相对地,vsftpd 只会运行一次。然后,vsftpd将负责监听和处理传入的连接。

listen_ipv6=YES // 与 listen 参数一样,vsftpd 将监听 IPv6 套接字而不是 IPv4套接字。这个参数和 lisent 参数是相互排斥的,就是只能设置其中一个参数为 YES。

pam_service_name=vsftpd // 这个字符串是 vsftpd 使用的 PAM 服务名。

userlist_enable=YES // 如果启用了,vsftpd 会从 userlist_flie 配置项提供的文件名中加载一个用户名列表。如果用户尝试使用这个文件的名称进行登录,在请求密码前他们会被拒绝。这个在防止明文传输时会非常有用。另外可以看看 userlist_deny 配置项。

tcp_wrappers=YES // 如果启用了,vsftpd 会使用 tcp_wrappers 进行编译,传入连接将会通过 tcp_wrappers 控制访问。此外,还存在基于每个 IP 配置的机制。如果 tcp_wrappers 设置 VSFTPD_LOAD_CONF 环境变量,则 vsftpd 会话将尝试加载此变量中指定的 vsftpd 配置文件。

可以使用 man 5 vsftpd.conf 快速查看所有的配置项

[root@~]#  man 5 vsftpd.conf VSFTPD.CONF(5)                              File Formats Manual                              VSFTPD.CONF(5)  NAME        vsftpd.conf - config file for vsftpd  DESCRIPTION        vsftpd.conf  may  be used to control various aspects of vsftpd's behaviour. By default, vsftpd looks        for this file at the location /etc/vsftpd/vsftpd.conf.  However, you may override this by specifying        a  command  line  argument to vsftpd. The command line argument is the pathname of the configuration        file for vsftpd. This behaviour is useful because you may wish to use  an  advanced  inetd  such  as        xinetd to launch vsftpd with different configuration files on a per virtual host basis.         Systemd changes the vsftpd daemon start-up. The vsftpd package contains vsftpd-generator script gen‐        erating symbolic links to /var/run/systemd/generator/vsftpd.target.wants directory. The generator is        called  during e. g. 'systemctl --system daemon-reload'. All these symbolic links link /usr/lib/sys‐        temd/system/vsftpd@.service file.  The vsftpd daemon(s) is/are controlled by one of following ways:         1. Single daemon using default /etc/vsftpd/vsftpd.conf configuration file        # systemctl {start,stop,...} vsftpd[.service]         2. Single daemon using /etc/vsftpd/<config-filename>.conf        # systemctl {start,stop,...} vsftpd@<config-filename-without-extension>[.service]         3. All instances together        # systemctl {restart,stop} vsftpd.target         See systemd.unit(5), systemd.target(5) for further details.  FORMAT        The format of vsftpd.conf is very simple. Each line is either a  comment  or  a  directive.  Comment        lines start with a # and are ignored. A directive line has the format:         option=value         It is important to note that it is an error to put any space between the option, = and value.         Each setting has a compiled in default which may be modified in the configuration file.  BOOLEAN OPTIONS ....... 

以下的配置与鸟哥里面的 21.2.5 CentOS 的 vsftpd 默认值 几乎一致。

开始配置吧!

Step 01

使用 Standalone 模式;Enter 后,使用键盘上的 n 键可以跳到下一个 listen 字符处 ,修改完成后,vim 里面使用按 ESC 后,:w 保存

[root@~]# vim +/listen /etc/vsftpd/vsftpd.conf listen=NO -- 修改成 --> linsten=YES listen_ipv6=YES -- 修改成 --> listen_ipv6=NO 

Step 02

vsftpd 默认使用格林威治时间 (GMT) ,修改成本地时间, vim 里面 :200 再按 o 键,末行写入以下内容;按 ESC 后, :w 保存

use_localtime=YES 

Step 03

设置实体帐号相关信息

vim 内使用 :/local_umask 跳到 local_umask 修改如下

local_umask=022 -- 修改成 --> local_umask=002 // 最终权限为 775 

扩展–权限:
1、r+w+x = 2^2 + 2^1 + 2^0 = 4 + 2 + 1 = 7;
2、777(111111111) ^(异或) 002(000000010) = 775(111111101)

如 test.txt : 775 指 root 用户可读写可执行,root 用户组可读写可执行,others (其他人) 可读不可写可执行。

例子:

[root@~]# touch test.txt [root@~]# ls -la | grep "test" -rw-r--r--   1 root   root         0 Sep 19 11:58 test.txt [root@~]# chmod 775 test.txt [root@~]# ls -la | grep "test" -rwxrwxr-x   1 root   root         0 Sep 19 11:58 test.txt [root@~]# chmod 777 test.txt [root@~]# ls -la | grep "test" -rwxrwxrwx   1 root   root         0 Sep 19 11:58 test.txt [root@~]# chmod 177 test.txt [root@~]# ls -la | grep "test" ---xrwxrwx   1 root   root         0 Sep 19 11:58 test.txt 

使能用户列表,在 local_umask 下一行添加如下内容

userlist_enable=YES userlist_deny=YES userlist_file=/etc/vsftpd/user_list 

一一解析:

userlist_enable // If enabled, vsftpd will load a list of usernames, from the filename given by userlist_file. If a user tries to log in using a name in this file, they will be denied before they are asked for a password. This may be useful in preventing cleartext passwords being transmitted. See also userlist_deny.

userlist_deny // This option is examined if userlist_enable is activated. If you set this setting to NO, then users will be denied login unless they are explicitly listed in the file specified by userlist_file. When login is denied, the denial is issued before the user is asked for a password.

userlist_file //This option is the name of the file loaded when the userlist_enable option is active. Default: /etc/vsftpd/user_list

Step 04

增加欢迎信息,vim 内定位到 :/tcp_wrappers 在其下面写入如下内容

banner_file=/etc/vsftpd/welcome.txt 

banner_file // This option is the name of a file containing text to display when someone connects to the server. If set, it overrides the banner string provided by the ftpd_banner option.

创建 welcome.txt 文件及内容

[root@~]# touch /etc/vsftpd/welcome.txt  [root@~]# vim /etc/vsftpd/welcome.txt   [root@~]# cat /etc/vsftpd/welcome.txt   欢迎光临 Deepppixel 网站!本站提供 FTP 服务! 如有问题请联系 Deepppixel !  

Step 05

登记要限制登录的系统用户

查看所有的系统用户

[root@~]# cat/etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:997:User for polkitd:/:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin chrony:x:998:996::/var/lib/chrony:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin ntp:x:38:38::/etc/ntp:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin nscd:x:28:28:NSCD Daemon:/:/sbin/nologin apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash saslauth:x:997:76:Saslauthd user:/run/saslauthd:/sbin/nologin 

解析:

  • root:x:0:0:root:/root:/bin/bash
  • 用户名:密码:UID:GID:用户描述: home 目录

把 UID < 500 有写入 /etc/vsftpd/ftpusers [黑名单] 和 /etc/vsftpd/user_list [白名单] 两个文件中,它们的内容是一样的

[root@~]# vim /etc/vsftpd/user_list root bin daemon adm lp sync shutdown halt mail news uucp operator games nobody // 下面是新添加的 ftp systemd-network dbus postfix sshd ntp tcpdump nscd apache mysql 

补充说明:

  • /etc/vsftpd/ftpusers : 由 PAM 模块管理,受 /etc/pam.d/vsftpd 配置的影响;
  • /etc/vsftpd/user_list : 由 vsftpd 主动提供,受 vsftpd.conf 的 userlist_file 配置项影响;

启动 vsftpd 服务

[root@~]# systemctl status vsftpd.service ● vsftpd.service - Vsftpd ftp daemon    Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)    Active: inactive (dead)  [root@~]# systemctl start vsftpd.service [root@~]# systemctl status vsftpd.service ● vsftpd.service - Vsftpd ftp daemon    Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)    Active: active (running) since Wed 2018-09-19 15:44:15 CST; 2s ago   Process: 28777 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)  Main PID: 28778 (vsftpd)    CGroup: /system.slice/vsftpd.service            └─28778 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf  Sep 19 15:44:15 izwz9dnfbgdn5tleje5eitz systemd[1]: Starting Vsftpd ftp daemon... Sep 19 15:44:15 izwz9dnfbgdn5tleje5eitz systemd[1]: Started Vsftpd ftp daemon.  [root@~]# netstat -tulnp| grep 21 tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      28778/vsftpd  

使用 FTP 测试一下吧!

如果没有 ftp 就安装

[root@~]# yum -y install ftp ...... Total download size: 61 k Installed size: 96 k Downloading packages: ftp-0.17-67.el7.x86_64.rpm                                                             |  61 kB  00:00:00      Running transaction check Running transaction test Transaction test succeeded Running transaction   Installing : ftp-0.17-67.el7.x86_64                                                                     1/1    Verifying  : ftp-0.17-67.el7.x86_64                                                                     1/1   Installed:   ftp.x86_64 0:0.17-67.el7                                                                                      Complete! 

创建一个测试用户 ftpTest,密码:123456

[root@~]# useradd ftpTest  [root@izwz9dnfbgdn5tleje5eitz ~]# passwd ftpTest Changing password for user ftpTest. New password:  // 123456 BAD PASSWORD: The password is shorter than 8 characters Retype new password: // 123456 passwd: all authentication tokens updated successfully 

删除用户: userdel -r ftpTest

开始测试

[root@~]# ftp localhost Trying 127.0.0.1... Connected to localhost (127.0.0.1). 220- 220-欢迎光临 Deepppixel 网站!本站提供 FTP 服务! 220-如有问题请联系 Deepppixel ! 220- 220  Name (localhost:root): ftpTest 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> bye 221 Goodbye. 
[root@~]# ftp localhost Trying 127.0.0.1... Connected to localhost (127.0.0.1). 220- 220-欢迎光临 Deepppixel 网站!本站提供 FTP 服务! 220-如有问题请联系 Deepppixel ! 220- 220  Name (localhost:root): mysql 530 Permission denied. Login failed. ftp> bye 221 Goodbye. 

Step 06

打开 chroot 配置,保护系统

[root@~]# vim +/chroot /etc/vsftpd/vsftpd.conf chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list 

一一解析:

chroot_local_user // If set to YES, local users will be (by default) placed in a chroot() jail in their home directory after login. Warning: This option has security implications, especially if the users have upload permission, or shell access. Only enable if you know what you are doing. Note that these security implications are not vsftpd specific. They apply to all FTP daemons which offer to put local users in chroot() jails.

chroot_list_enable // If activated, you may provide a list of local users who are placed in a chroot() jail in their home directory upon login. The meaning is slightly different if chroot_local_user is set to YES. In this case, the list becomes a list of users which are NOT to be placed in a chroot() jail. By default, the file containing this list is /etc/vsftpd.chroot_list, but you may override this with the chroot_list_file setting.

chroot_list_file // The option is the name of a file containing a list of local users which will be placed in a chroot() jail in their home directory. This option is only relevant if the option chroot_list_enable is enabled. If the option chroot_local_user is enabled, then the list file becomes a list of users to NOT place in a chroot() jail. Default: /etc/vsftpd.chroot_list

创建 chroot_list 文件

[root@~]# touch /etc/vsftpd/chroot_list 

重启 vsftp.service 服务

[rppt@~]# systemctl restart vsftpd.service 

测试一下 ftpTest

[root@~]# ftp localhost Trying 127.0.0.1... Connected to localhost (127.0.0.1). 220- 220-欢迎光临 Deepppixel 网站!本站提供 FTP 服务! 220-如有问题请联系 Deepppixel ! 220- 220  Name (localhost:root): ftpTest 331 Please specify the password. Password: 500 OOPS: chroot Login failed. 421 Service not available, remote server has closed connection ftp> bye 221 Goodbye. 

因为 chroot 没有添加到 /etc/vsftpd/chroot_list 中,所以直接登录失败,有效防止不被允许的用户登录 FTP ,破坏系统。

添加 ftpTest ,再测试一下

[root@~]# vim /etc/vsftpd/chroot_list ftpTest 

重启 vsftp.service 服务

[rppt@~]# systemctl restart vsftpd.service 

测试

[root@~]# ftp localhost Trying 127.0.0.1... Connected to localhost (127.0.0.1). 220- 220-欢迎光临 Deepppixel 网站!本站提供 FTP 服务! 220-如有问题请联系 Deepppixel ! 220- 220  Name (localhost:root): ftpTest 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> bye 221 Goodbye. 

为 ftpTest 指定登录的根目录

[root@~]# im /etc/vsftpd/vsftpd.conf # root user home local_root=/var/ftp/ #   chroot_local_user=YES # anonymous user home anon_root=/var/www/html # allow_writeable_chroot=YES # others user home user_config_dir=/etc/vsftpd/userconfig 

正式添加根目录

[root@~]# mkdir -p/etc/vsftpd/userconfig  [root@~]# vim /etc/vsftpd/userconfig/ftpTest local_root=/var/ftp/ftpTest 

创建目录

[root@~]# mkdir -p /var/ftp/ftpTest [root@~]# touch /var/ftp/ftpTest/test 

重启 vsftp.service 服务

[rppt@~]# systemctl restart vsftpd.service 

登录测试

[root@~]# ftp localhost Trying 127.0.0.1... Connected to localhost (127.0.0.1). 220- 220-欢迎光临 Deepppixel 网站!本站提供 FTP 服务! 220-如有问题请联系 Deepppixel ! 220- 220  Name (localhost:root): ftpTest 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> dir 227 Entering Passive Mode (127,0,0,1,178,26). 150 Here comes the directory listing. -rw-r--r--    1 0        0               0 Sep 19 18:39 test 226 Directory send OK. ftp> bye 221 Goodbye. 

删除测试用户 ftpTest,及相关文件

[root@~]# userdel -r ftpTest  [root@~]# rm -rf /var/ftp/ftpTest  [root@~]# rm /etc/vsftpd/userconfig/ftpTest 

移除 chroot_list 的 ftpTest

[root@~]# vim /etc/vsftpd/chroot_list 

重启 vsftp.service 服务

[rppt@~]# systemctl restart vsftpd.service 

Step 07

其他配置

限制带宽

[root@~]# vim /etc/vsftpd/vsftpd.conf local_max_rate=1000000  // 单位是 bytes/second 

local_max_rate // The maximum data transfer rate permitted, in bytes per second, for local authenticated users.

限制同时在线人数,及单个 ip 的联机数

max_clients=10 max_per_ip=1 

关闭 userlist_deny,开启严格的用户登录功能

userlist_deny=YES -- 修改成 --> userlist_deny=NO 

关闭匿名登录

anonymous_enable=YES -- 修改成 --> anonymous_enable=NO 

如果想使用匿名用户登录,可以详细看看鸟哥的文章。

重启 vsftp.service 服务

[rppt@~]# systemctl restart vsftpd.service 

Step 08

打开防火墙

[root@~]# firewall-cmd --permanent --zone=public --add-service=ftp [root@~]# firewall-cmd --reload 

重启 vsftp.service 服务

[rppt@~]# systemctl restart vsftpd.service 

Step 09

配置 WordPress FTP

先创建供 WordPress 使用的用户

[root@~]# useradd deepppixelAdmin  [root@~]# passwd deepppixelAdmin 

把 deepppixelAdmin 添加进 chroot_list

[root@~]# vim /etc/vsftpd/chroot_list deepppixelAdmin 

添加根目录

[root@~]# vim /etc/vsftpd/userconfig/deepppixel_com local_root=/var/ftp/deepppixel.com/ 

创建根目录

[root@~]# mkdir -p /var/ftp/deepppixel.com 

重启 vsftp.service 服务

[rppt@~]# systemctl restart vsftpd.service 

登录测试

[root@~]# ftp localhost Trying 127.0.0.1... Connected to localhost (127.0.0.1). 220- 220-欢迎光临 Deepppixel 网站!本站提供 FTP 服务! 220-如有问题请联系 Deepppixel ! 220- 220  Name (localhost:root): deepppixelAdmin 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> bye 221 GoodBye 

配置 WordPress 的 wp-config.php 文件

[root@~]# vim /var/www/deepppixel.com/wp-config.php /* FTP */ define( 'FTP_USER', '名称' ); define( 'FTP_PASS', '密码' ); define( 'FTP_SSL', true ); // 开启加密传输 

重启 Apache

[root@~]# systmctl restart httpd.service 

安装 Samba 服务 (可选)

鸟哥 Samba 链接:http://cn.linux.vbird.org/linux_server/0370samba_1.php

阿里云 ECS 服务器 CentOS 7.4 搭建 LAMP WordPress 环境:vsftp 文件服务

鸟哥的 Linux 私房菜 — 服务器架设篇目录 Samba

Samba , Samba 文档

开始安装 Samba 服务

查看 yum 上的版本

[root@~]# yum list | grep "samba."   kdenetwork-fileshare-samba.x86_64          7:4.10.5-8.el7_0           base       pcp-pmda-samba.x86_64                      3.12.2-5.el7               base       php-pear-Auth-samba.noarch                 1.6.4-2.el7                epel  samba.x86_64                               4.7.1-9.el7_5              updates    

安装 Samba

[root@~]# yum -y install samba 

查看安装好的 Samba

[root@~]# yum list installed | grep "samba"   

结语:由于我的服务器需要安装 Swift Perfect ,但是 Swift 只支持 MacOS 和 Ubuntu ,没有办法只能放弃 CentOS 短暂且愉快的一次冒险,Samba 的配置也就不写了。

后面要更新的文章,《阿里云 ECS 服务器 Ubuntu 搭建 LAMP WordPress 环境》 以及 《阿里云 ECS 服务器 Ubuntu 搭建 Swift Perfect》我们江湖再见 。

点赞