CentOS7 使用

发布时间 2023-12-19 21:02:56作者: MeYokYang

CentOS7 使用

安装

  • 使用 GPT 分区,安装时加入inst.gpt参数。

  • 分区(sda)分配:

    挂载点 分区方式 FileSystem 大小
    BIOS boot standard BIOS system 2 M
    /boot standard XFS 1 G
    / LVM XFS 10 G
    /home LVM XFS 5 G
    swap LVM swap 1 G

    LVM 使用同一个且固定大小 30 G。

使用前

网络问题

systemctl stop NetworkManager
systemctl restart network
nmcli connection reload

修改 YUM 镜像源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
vim /usr/bin/yum
#!/usr/bin/python2.7
...
vim /usr/libexec/urlgrabber-ext-down
#!/usr/bin/python2.7
...
yum makecache
yum -y update

软件

Vim

yum install -y vim*
echo "set nu" >> /etc/vimrc

netstat

yum -y install net-tools # netstat

SELinux

vim /etc/selinux/config
SELINUX=enforing
SELINUXTYPE=targeted
sync && reboot
yum install -y setools-console
systemctl restart auditd

SSH

su - 'username'
cd ~
mkdir .ssh && cd .ssh
vim authorized_keys			# 填充公钥
chmod 0600 authorized_keys
cd ..
chmod 0700 .ssh
exit
vim /etc/ssh/sshd_config
PermitRootLogin no
PubkeyAuthentication yes

PasswordAuthentication no
ChallengeResponseAuthentication no

#GSSAPIAuthentication yes
#GSSAPICleanupCredentials no
systemctl restart sshd
systemctl start firewalld
firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload
systemctl restart firewalld

vsFTPd

cd ~
# 新建用户 ftpadmin
useradd -r -s /sbin/nologin ftpadmin
echo "..." | passwd --stdin ftpadmin
# 安装 vsftpd
yum install -y vsftpd
systemctl enable vsftpd
systemctl start vsftpd
netstat -antup | grep ftp
# 新建 ftpadmin 的工作目录
mkdir /var/ftp/ftpadmin
chown -R ftpadmin:ftpadmin /var/ftp/ftpadmin
# 生成私钥与证书
ldd /usr/sbin/vsftpd | grep ssl 															# 检查 vsftpd 是否支持 ssl 模块
cd /etc/pki/tls/certs
openssl genrsa -out vsftpd.key 2048															# 生成私钥
openssl req -new -key vsftpd.key -out vsftpd.csr											# 生成颁发请求
openssl x509 -req -days 365 -sha256 -in vsftpd.csr -signkey vsftpd.key -out vsftpd.crt		# 生成签发证书
cd ~
chmod 700 /etc/ssl/certs
# 修改 vsftpd 的配置
cd /etc/vsftpd
touch chroot_list
vim /etc/vsftpd/vsftpd.conf
...
# 主动模式下配置
anonymous_enable=NO              #不允许匿名登录FTP服务器
local_enable=YES                 #允许本地用户登录FTP服务器
local_root=/var/ftp/ftpadmin     #FTP本地用户使用的文件目录

chroot_local_user=YES                      #所有用户都被限制在其主目录
chroot_list_enable=YES                     #启用例外用户名单
chroot_list_file=/etc/vsftpd/chroot_list   #例外用户名单
allow_writeable_chroot=YES

# 被动模式下配置(应该包含主动模式的配置)
listen=YES                    
listen_ipv6=NO                
pasv_address=xx.xx.xx.xx		#FTP服务器的公网IP地址
pasv_min_port=3000            	#被动模式下的最小端口
pasv_max_port=3100            	#被动模式下的最大端口

pasv_enable=YES				  	#启用被动模式

# ssl配置
ssl_enable=YES					#启动SSL认证
ssl_tlsv1=YES					#支持的ssl/tls版本
ssl_sslv2=YES
ssl_sslv3=YES

allow_anon_ssl=NO#不允许匿名访问
force_local_data_ssl=YES				# 所有非匿名登录将被强制使用安全的SSL连接,以便在数据连接上发送和接收数据。
force_local_logins_ssl=YES				# 所有非匿名登录将被强制使用安全的SSL连接以发送密码

require_ssl_reuse=NO
ssl_ciphers=HIGH

rsa_cert_file=/etc/ssl/certs/vsftpd.crt				# 证书
rsa_private_key_file=/etc/ssl/certs/vsftpd.key		# 密钥

# 日志
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/xferlog
...
systemctl restart vsftpd
# 配置防火墙 firewalld 服务
firewall-cmd --permanent --add-service=ftp
firewall-cmd --permanent --zone=public --add-port=3000-3100/tcp
firewall-cmd --reload
systemctl restart firewalld

使用时可能出现 SELinux 相关问题,需要修改/var/ftp/ftpadmin的 context 或者开启某个 SELinux 的规则。

vim /var/log/messages
sealert -l ...
...

530 Login incorrect.
错误: 严重错误: 无法连接到服务器::::::

vim /etc/pam.d/vsftpd
auth required pam_shells.so修改为->auth required pam_nologin.so

Git

yum -y install git
git --version
exit
git config --global user.name "meyok"
git config --global user.email 2553774545@qq.com
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

CMake

yum -y install gcc-c++ && yum -y install gdb
cd /usr/local
mkdir cmake
cd src
wget https://cmake.org/files/v3.11/cmake-3.11.4.tar.gz
tar -zxvf cmake-3.11.4.tar.gz
cd cmake-3.11.4
yum install -y python-sphinx
./bootstap --prefix=/usr/local/cmake --sphinx-man
make && make install
echo "export PATH=$PATH:/usr/local/cmake/bin" >> /etc/profile.d/custom.sh
. /etc/profile.d/custom.sh
vim /etc/man_db.conf
...
MANPATH_MAP /usr/local/cmake/bin /usr/local/cmake/man
...

JAVA

cd /usr/local/src

sha256sum jdk-11.0.21_linux-x64_bin.tar.gz
tar -zxvf jdk-11.0.21_linux-x64_bin.tar.gz -C /usr/local

echo "export PATH=$PATH:/usr/local/jdk-11.0.21/bin" >> /etc/profile.d/custom.sh
. /etc/profile.d/custom.sh
vim /etc/man_db.conf
...
MANPATH_MAP /usr/local/jdk-11.0.21/bin /usr/local/jdk-11.0.21/man
...

Maven

cd /usr/local/src

sha512sum apache-maven-3.9.5-bin.tar.gz
tar -zxvf apache-maven-3.9.5-bin.tar.gz -C /usr/local

echo "MAVEN_HOME=/usr/local/apache-maven-3.9.5" >> /etc/profile.d/custom.sh
echo "export PATH=$PATH:$MAVEN_HOME/bin" >> /etc/profile.d/custom.sh
. /etc/profile.d/custom.sh

MySQL

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 
yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 
yum install mysql-community-server 
systemctl start mysqld 
grep 'A temporary password' /var/log/mysqld.log | tail -1 
/usr/bin/mysql_secure_installation 
mysql -u root -p 
mysql -V