完整内容在我的博客
近来,我的服务器被撑爆了,因为服务器磁盘空间不足(其实这个问题已经存在很久了,一直没有下定决心整改)。这次一不留神备份服务时撑爆了,我就顺便重装系统,认真调教一些配置,将一些过程进行记录,以备查用。
一、更新组件,包管理
要在Ubuntu系统上更新软件包,可以使用以下命令:
- 不推荐,安装时间太长了
apt update && apt upgrade -y
- 推荐用下面两条
sudo apt update #这个命令会更新软件包列表,让系统知道有哪些软件包可以更新。
sudo apt upgrade --only-upgrade #这个命令会安装所有可用的软件包更新。
二、常用工具
1、VIM编辑器
- 检查有没有安装VIM(主要是我习惯用vim编辑器了,Ubuntu是默认自带nano的)
vim --version
- 没有的话就用命令安装
apt install vim
- 配置VIM为默认的系统编辑器。
- 很简单,执行这条命令,选择 Vim,以后凡是自动调用编辑器的地方,都会用 Vim 啦。
sudo update-alternatives --config editor
2、安装 command-not-found【不需要可以不装】
很多服务器提供商可能会提供精简版本的 Ubuntu,于是一些实用的命令行工具并不会预装。比如command-not-found
,它可以当你在打命令时,提示对应的但没有安装的 package。
sudo apt install command-not-found
安装完后,就可以在使用命令行的过程中更加方便了。
三、添加普通用户
adduser ubuntu {your-password}
visudo
在 User Privilege Specification
下加入一行 ubuntu ALL=(ALL) NOPASSWD: ALL
即可。
- 检验是否添加成功
su - newuser
ls /root
sudo ls /root
exit #退出
四、防火墙配置
要在 Ubuntu 上使用 ufw
(Uncomplicated Firewall)开启端口 22、80 和 443,你可以按照以下步骤进行配置:
-
检查
ufw
是否安装:- 如果尚未安装
ufw
,你可以使用以下命令安装:sudo apt install ufw
- 如果尚未安装
-
开启端口:
- 开启端口 22:
sudo ufw allow 22
- 开启端口 80:
sudo ufw allow 80
- 开启端口 443:
sudo ufw allow 443
- 开启端口 22:
-
启用防火墙:
- 启用
ufw
防火墙:sudo ufw enable
- 启用
-
检查配置:
- 可以运行
sudo ufw status
来查看防火墙的状态和已开启的端口。
- 可以运行
参考文章
五、配置 SSH 登录及 SSH Server 安全设定
- 先在windows端生成ssh 公私钥对
ssh-keygen -t rsa -f ~/.ssh/id_rsa_xxxx
- 在用户目录下创建
authorized_keys
文件,并将公钥(pub结尾)的内容粘入authorized_keys
文件中
mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
- 禁用root身份登录
- 找到
PermitRootLogin Yes
这一项,然后把它后面的设定值改为no
即可。
- 找到
vim /etc/ssh/sshd_config
如下:
PermitRootLogin no
- 把 PasswordAuthentication 设置成 no,禁止密码登录,更安全:
PasswordAuthentication no
- SSH端口号改为其他数字,注意了,改成其他端口后,记得防火墙设置也要更新。
Port {SSH端口号,最好在10000以上}
最后重启 SSH Server 生效:
sudo systemctl restart sshd.service
六、自定义shell 界面安装【不需要可以不装】
- 安装 oh-my-zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
- 其他主题、插件等配置参考:
Tmux
Tmux 是一个终端多路复用器,可以从单个屏幕创建、访问和控制多个终端。 Tmux 可能会与屏幕分离,并继续在后台运行,然后重新连接。
每当 tmux 启动时,它都会创建一个带有单个窗口的新会话并将其显示在屏幕上。屏幕底部的状态行显示当前会话的信息,用于输入交互式命令。
在本指南中,我将与您分享 Tmux 备忘单,以帮助您在 Linux 或 Unix 机器上开始使用 tmux。在进入备忘单部分之前,我们先来看看如何在 Linux 上安装 tmux。
Thefuck
七、Docker配置【不需要可以不装】
1、安装 Docker
快速安装
curl https://get.docker.com | sh
-
首先安装基本环境:
sudo apt install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
- 再安装 key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- 再增加 Docker 官方源:
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
- 最后就可以安装 Docker 了,我一般也同时会用 Docker Compose,一起安装上去吧!
sudo apt update
sudo apt install docker-ce docker-compose
- 安装好 Docker 以后,记得将当前用户加到 docker 用户组里去(如果你不想每次都用 sudo 用 Docker 的话)
sudo gpasswd docker -a username
2、Docker日志管理
全局配置日志大小限制
- 创建或修改文件
/etc/docker/daemon.json
,并增加以下配置(3份日志、每份10M)。
{
"log-driver": "json-file",
"log-opts": {
"max-file": "3",
"max-size": "10m"
}
}
- 随后重启 Docker 服务
sudo systemctl daemon-reload
sudo systemctl restart docker
不过已存在的容器不会生效,需要重建才可以!
单个容器日志大小限制
- 写在docker-compose中
logging:
driver: json-file
options:
max-size: "100m"
max-file: "3"
八、swap配置【不需要可以不装】
swapoff -a #删除原分区
dd if=/dev/zero of=/root/swapfile bs=1M count=1024 #配置新分区大小
mkswap /root/swapfile
swapon /root/swapfile
- 最后设置开机启动:可以编辑
/etc/fstab
文件,把最后一行改成:/root/swapfile swap swap defaults 0 0
参考文章:
九、logrotate日志大小限制【不需要可以不装,但是建议,日志管理很重要!】
sudo apt install logrotate
sudo apt install cron
/var/log/syslog
/var/log/mail.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/cron.log
{
weekly
rotate 3
maxsize 100M
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
/usr/lib/rsyslog/rsyslog-rotate
endscript
}
参考文章:
- https://www.cnblogs.com/uglyliu/p/13206868.html
- Linux日志切割神器logrotate原理介绍和配置详解 | HelloDog
- Logrotate 日志滚动 解决日志占用空间过大 - 狐狸的小小窝
- https://www.cnblogs.com/liujunjun/p/17924699.html
- https://nj.transwarp.cn:8180/?p=10556
十、Fail2ban 封禁 IP【不需要可以不装】
十一、面板安装——1panel【不需要可以不装】
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh
sudo apt autoremove docker-compose
参考文章:
十二、常规安全更新
- 安装 unattended-upgrades 来自动更新 security upgrade
通过 unattended-upgrades,可以使 Ubuntu 系统自动进行常规的安全相关更新,使系统一直保持 security。
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades
参考资料:
- 新服务器必做的基本设置——服务器迁移之记录 - Leo’s blog
- Securing a Linux Server | Spenser Jones
- https://www.ruanyifeng.com/blog/2014/03/server_setup.html
- VPS 基础环境配置-我不是咕咕鸽
- zsh 安装与配置:9步打造高效命令行 - HackerNeo
- 【第 4 章】安全防护篇 | Project X
能不能要个免费的小心心
这里提醒佬友,我的logrotate日志大小部分,没有弄得太清楚,还需要补充(主要是定期执行方面cron),希望热佬能指点一下!
如果有问题,希望大家不吝赐教。