文章

BigCloud安装使用

BigCloud安装使用

下载地址

https://mirrors.cmecloud.cn/bclinux/oe21.10/ISO/x86_64/release/BCLinux-for-Euler-21.10-everything-x86_64.iso

卸载 bclinux-license

服务器检查结果:

信息 您的授权码是无效的,请获得正确的授权码来注册大云Linux操作系统。您可以使用’bclinux-license -g’命令获得机器码,然后与我们联系帮您产生订阅从而获得正确的授权码。

1
2
rpm -qa | grep license
rpm -e bclinux-license-manager-4.0-1.oe2203.bclinux.x86_64  ## 卸载这个包

配置本地源

1
2
3
4
5
6
7
8
9
10
11
12
mount /dev/cdrom /mnt
mv /etc/yum.repos.d/BCLinux.repo{,.bak}
vi /etc/yum.repos.d/local.repo

[local]
name=BC-Linux-release - local
baseurl=file:///mnt
enabled=1
gpgcheck=0

yum clean all
yum makecache

升级 python3

安装编译工具和依赖库

1
2
yum groupinstall -y "Development Tools"
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libpcap-devel xz-devel libffi-devel

下载Python 3的源码

1
wget https://www.python.org/ftp/python/3.7.17/Python-3.7.17.tgz

将上面的链接中的3.7.17替换为你想安装的Python版本号,例如3.8.0。

解压源码包

1
tar xvf Python-3.7.17.tgz

编译安装

1
2
3
4
cd Python-3.7.17
./configure --enable-optimizations
make
make altinstall

使用altinstall是为了避免覆盖系统默认的Python版本。

拷贝包到新python的包中

1
2
cp -rnp /usr/lib/python3.7/site-packages/* /usr/local/lib/python3.7/site-packages/
cp -rnp /usr/lib64/python3.7/site-packages/* /usr/local/lib/python3.7/site-packages/

更新Python链接

1
2
mv /usr/bin/python3{,.bak}
ln -s /usr/local/bin/python3.7 /usr/bin/python3

验证安装

1
2
python3 --version
python3.7 --version

漏洞

python CVE-2023-27043

Python 2.7.18 不需升级 Python 3.7.9 升级至 3.7.17

1
vi /etc/python/email.cfg
1
2
[email_addr_parsing]
PYTHON_EMAIL_DISABLE_STRICT_ADDR_PARSING = true

vsftpd升级到3.0.5(或者直接安装)

(参考地址)[https://blog.csdn.net/hhq850741642/article/details/140723077]

下载vsftpd源码

1
wget https://security.appspot.com/downloads/vsftpd-3.0.5.tar.gz

卸载原vsftpd

1
2
3
4
5
6
# 备份原配置文件
cp -rnp /etc/vsftpd{,.ljh.202410301611}
cp -rnp /etc/pam.d/vsftpd{,.ljh.202410301611}
# 卸载原vsftpd
systemctl stop vsftpd.service
yum remove -y vsftpd

编译vsftpd源码

64位的系统编译之前先要执行 cp /lib64/libcap.so.1 /lib/libcap.so.1 命令:

:这里并没有用到

1
2
3
4
5
6
7
8
9
10
yum groupinstall -y "Development Tools"
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libpcap-devel xz-devel libffi-devel
yum install -y libcap-devel
tar xzvf vsftpd-3.0.5.tar.gz
cd vsftpd-3.0.5
# 替换文件内容,因为是手动安装的,需要变更文件地址
sed -i 's#/etc/vsftpd.#/etc/vsftpd/#g' tunables.c
sed -i 's#/etc/vsftpd.conf#/etc/vsftpd/vsftpd.conf#g' defs.h
make
make install

配置文件(新安装)

vsftpd.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# 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=NO
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# 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.
# When SELinux is enforcing check for SE bool allow_ftpd_anon_write, allow_ftpd_full_access
#anon_upload_enable=YES
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#anon_mkdir_write_enable=YES
#
# 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
#
# 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_username=whoever
#
# You may override where the log file goes if you like. The default is shown
# below.
#xferlog_file=/var/log/xferlog
#
# If you want, you can have your log file in standard ftpd xferlog format.
# Note that the default log file location is /var/log/xferlog in this case.
xferlog_std_format=YES
#
# You may change the default value for timing out an idle session.
#idle_session_timeout=600
#
# You may change the default value for timing out a data connection.
#data_connection_timeout=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
#
# 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. The vsftpd.conf(5) man page explains
# the behaviour when these options are disabled.
# 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_download_enable=YES
#
# You may fully customise the login banner string:
#ftpd_banner=Welcome to blah FTP service.
#
# 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().
# (Warning! chroot'ing can be very dangerous. If using chroot, make sure that
# the user does not have write access to the top level directory within the
# chroot)
#chroot_local_user=YES
#chroot_list_enable=YES
# (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
#
# 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=NO
#
# This directive enables listening on IPv6 sockets. By default, listening
# on the IPv6 "any" address (::) will accept connections from both IPv6
# and IPv4 clients. It is not necessary to listen on *both* IPv4 and IPv6
# sockets. If you want that (perhaps because you want to listen on specific
# addresses) then you must run two copies of vsftpd with two configuration
# files.
# Make sure, that one of the listen options is commented !!
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=32000
#本地用户最大传输速率(字节/秒),0为不限制
local_max_rate=0
#允许ip变化  防止 425 Security: Bad IP connecting.
pasv_promiscuous=YES

ftpusers

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Users that are not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

user_list

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

systemd配置文件

1
2
3
4
5
6
7
8
9
10
11
# vim /usr/lib/systemd/system/vsftpd.service,没有就新建
[Unit]
Description=Vsftpd ftp daemon
After=network.target
 
[Service]
Type=forking
ExecStart=/bin/bash -c "/usr/local/sbin/vsftpd /etc/vsftpd/vsftpd.conf &"
 
[Install]
WantedBy=multi-user.target

启动vsftpd-3.0.5

1
2
3
4
5
systemctl daemon-reload 
systemctl stop vsftpd.service
systemctl start vsftpd.service
#如果无法使用systemctl start vsftpd.service 启动vsftpd,采用下面的方法可以启动
#nohup /usr/local/sbin/vsftpd /etc/vsftpd/vsftpd.conf &

关闭旧版本自启动并开启新版本自启动

1
systemctl enable vsftpd.service

查看版本

1
vsftpd -version

问题参考

  1. (vsftpd 3.0.3升级到3.0.5后的坑)[https://blog.csdn.net/u012134942/article/details/130251216]
  2. (可能遇到的问题)[https://blog.csdn.net/hhq850741642/article/details/140723077]

卸载源码安装的软件

1
find /usr/local -name "软件名" -exec rm -rf {} \;

关闭selinux

临时关闭selinux

1
setenforce 0

永久关闭selinux

1
2
vi /etc/sysconfig/selinux
设置SELINUX=disabled并保存退出。

关闭firewalld

临时关闭防火墙

systemctl stop firewalld

永久关闭防火墙

1
systemctl disable firewalld
本文由作者按照 CC BY 4.0 进行授权