Linux中的常用初始化操作

新开的服务器想要用得好,一些初始化操作就少不了。
对于非root账户登录的情况,这些命令可能需要加上sudo
(这部分命令均以自用为主要目的,仅供参考

修改root密码

1
passwd root

常用命令,不多说,下一个

修改SSH设置(安全第一)

安全性参考方案:仅启用密钥登录+换到非22端口
请先su到你需要使用SSH的账户下再进行如下操作

SSH密钥对

生成

1
2
cd ~
ssh-keygen

然后一路回车就好,直到得到类似提示

1
2
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.

这时就生成成功了
私钥文件是/root/.ssh/id_rsa
公钥文件是/root/.ssh/id_rsa.pub

放置、改权限

1
2
mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
cat /root/.ssh/id_rsa

把显示的私钥复制下来并保存

SSH配置文件

文件位置:/etc/ssh/sshd_config
可以用vimnano打开编辑

1
vim /etc/ssh/sshd_config

1
nano /etc/ssh/sshd_config

如果出现找不到命令的话可以看后文的软件包处理部分

需要修改一下参数(行数仅供参考)
13行 #Port 22 改为 Port 80
改变SSH的端口,80可以换成你想要的任意端口(只要不冲突就行)
38行 #PubkeyAuthentication no 改为 PubkeyAuthentication yes
57行 #PasswordAuthentication yes 改为 PasswordAuthentication no
开启密钥登录,关闭密码登录
默认不允许root登录的系统,可以在配置文件末尾加上这行来解决

1
PermitRootLogin yes

修改主机名

1
hostnamectl set-hostname NAME

NAME换成你要改的主机名
个人习惯,也不多说,下一个

改变系统语言为中文

(其他发行版请自行尝试是否有效,或寻找适合自己发行版的操作)
Centos7:

1
echo "LANG=zh_CN.UTF8" > /etc/locale.conf

Ubuntu 18.04 LTS:

1
dpkg-reconfigure locales

使用Page Down切到列表最底下,上下移动并用空格选中zh_CN.GBK GBKzh_CN.UTF-8 UTF-8两项,回车。
示意图1

选择zh_CN.UTF-8 UTF-8为默认语言,回车。
示意图2
因为我改过了,所以我的界面是中文的

修改语言需要重启后生效

SELinux配置

什么是SELinux?

安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。
如果可以熟练掌握 SELinux 并正确运用,我觉得整个系统基本上可以到达”坚不可摧”的地步了(请永远记住没有绝对的安全)。
引用自:一文彻底明白linux中的selinux到底是什么_运维_yanjun821126的博客-CSDN博客

然而因为我没能力搞定他,所以我一般会关掉。

查看状态

1
getenforce
显示值状态
enforcing强制模式 违反 SELinux 规则的行为将被阻止并记录到日志中
permissive宽容模式 违反 SELinux 规则的行为只会记录到日志中
disabled关闭
Command not found未安装SELinux

如果想从 disabled 切换到 enforcing 或者 permissive 的话,需要重启系统
enforcing 和 permissive 模式可以通过 setenforce 1|0 命令快速切换。

永久改变状态

编辑/etc/selinux/config
SELINUX=这一项改成你想要的状态
该重启就重启

软件源

这一部分真的是因人而异,不要无脑跟着操作
apt用于Ubuntu,yum/dnf用于CentOS7,不再额外强调

更换国内软件源

部分服务商镜像提供了自有源,无需手动更换
推荐清华大学TUNA镜像源阿里镜像源
官方有操作引导,不多说了

安装常用软件(源)

Centos的EPEL源以及常用软件

1
2
3
4
yum install -y epel-release
yum install -y screen wget vim htop curl dnf lrzsz

apt install -y screen wget vim htop curl lrzsz

更新到最新版

1
2
3
4
yum update -y

apt update
apt full-upgrade -y

BBR

谷歌的拥堵解决算法,总归是有用的
在Linux Kernel >= 4.9 中已经包含,直接启用即可

1
2
3
4
5
6
7
8
9
10
11
12
uname -r
#确定内核版本

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
#开启BBR

sysctl net.ipv4.tcp_congestion_control
lsmod | grep tcp_bbr
#检查开启状态
#有返回BBR就是开启成功

End?