Linux 中的常用初始化操作
新开的服务器想要用得好,一些初始化操作就少不了。
对于非 root 账户登录的情况,这些命令可能需要加上 sudo
(这部分命令均以自用为主要目的,仅供参考
调整用户(组)
新设备到位,用户和用户组总是最重要的
新建用户
1 | adduser <username> |
修改密码
1 | passwd [username] |
加入用户组
1 | usermod <username> -aG <usergroup> |
重命名用户
编辑 /etc/passwd
/etc/shadow
/etc/group
这三个文件并重命名 home
目录。
修改 SSH 设置(安全第一)
安全性参考方案:仅启用密钥登录 + 换到非 22 端口
请先 su
到你需要使用 SSH 的账户下再进行如下操作
SSH 密钥对
生成
1 | cd ~ |
然后一路回车就好,直到得到类似提示
1 | Your identification has been saved in /root/.ssh/id_rsa. |
这时就生成成功了
私钥文件是 /root/.ssh/id_rsa
公钥文件是 /root/.ssh/id_rsa.pub
放置、改权限
1 | mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys |
把显示的私钥复制下来并保存
SSH 配置文件
文件位置:/etc/ssh/sshd_config
可以用 vim
或 nano
打开编辑
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> |
个人习惯,也不多说,下一个
改变系统语言为中文
(其他发行版请自行尝试是否有效,或寻找适合自己发行版的操作)
Centos7:
1 | echo "LANG=zh_CN.UTF8" > /etc/locale.conf |
Ubuntu 18.04 LTS:
1 | dpkg-reconfigure locales |
使用↓
或 Page Down
切到列表最底下,上下移动并用空格选中 zh_CN.GBK GBK
和 zh_CN.UTF-8 UTF-8
两项,回车。
选择 zh_CN.UTF-8 UTF-8
为默认语言,回车。
因为我改过了,所以我的界面是中文的
修改语言需要重启后生效!
SELinux 配置
什么是 SELinux?
安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。
如果可以熟练掌握 SELinux 并正确运用,我觉得整个系统基本上可以到达” 坚不可摧” 的地步了(请永远记住没有绝对的安全)。
引用自:一文彻底明白 linux 中的 selinux 到底是什么 - PHPYuan
然而因为我没能力搞定他,所以我一般会关掉。
查看状态
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
用于 CentOS,不再额外强调
更换国内软件源
部分服务商镜像提供了自有源,无需手动更换
推荐清华大学 TUNA 镜像源和阿里镜像源
官方有操作引导,不多说了
安装常用软件 (源)
Centos 的 EPEL 源以及常用软件
1 | yum install -y epel-release |
再来个 zsh
1 | sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
然后修改 ~/.zshrc
文件,将 plugins=(git)
改为 plugins=(git extract zsh-autosuggestions zsh-syntax-highlighting)
主题选择
常用环境使用 powerlevel10k/powerlevel10k
主题
1 | git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k |
root 环境使用 dpoggi
主题
更新到最新版
1 | yum update -y |
BBR
谷歌的拥堵解决算法,总归是有用的
在 Linux Kernel >= 4.9 中已经包含,直接启用即可
1 | uname -r |