本文分享Ubuntu 22.04
系统纯净安装后的初始化配置
启用root账号登录
设置root
密码
sudo passwd root
临时切换到root
账户
su root
允许root
登入
sed -i 's/^.PermitRootLogin .*/PermitRootLogin yes/g' /etc/ssh/sshd_config
开启密码验证
sed -i 's/^.PasswordAuthentication .*/PasswordAuthentication yes/g' /etc/ssh/sshd_config
检查 /etc/ssh/sshd_config.d/
目录是否存在其他配置文件,如果有,检查该配置文件是否有相关选项的覆盖配置。
ls /etc/ssh/sshd_config.d/
个别虚拟机(如甲骨文的实例)在该目录下存在配置文件,如果有,可以将其删除。否则只修改 /etc/ssh/sshd_config
文件后,其个别配置选项会被 /etc/ssh/sshd_config.d/
目录下的配置文件所覆盖。
重启ssh
服务
service ssh restart
重启ssh
服务后即可使用root
账号登录Ubuntu 22.04
启用防火墙
查看系统是否安装netfilter-persistent
服务
service netfilter-persistent status
如果安装使用下述命令将其卸载,否则会跟ufw
冲突,导致防火墙规则不能开机加载
apt remove iptables-persistent netfilter-persistent -y
启用防火墙
ufw enable
查看防火墙状态
ufw status verbose
修改ssh默认端口号
修改ssh
默认端口号有利于提高系统安全性,本文以修改端口号为822
为例
sed -i 's/^.Port .*/Port 822/g' /etc/ssh/sshd_config
防火墙放行端口
ufw allow 822/tcp
重启ssh服务
service ssh restart
重启ssh
服务后即可使用新端口登录Ubuntu 22.04
删除普通用户(可选)
如需删除系统安装时创建的用户,须先退出要删除的用户并使用root
登录,以ubuntu
用户为例,删除用户及其工作目录
userdel -r ubuntu
增加swap分区(可选)
查看当前内存及swap配置
free -m
设置2G的swap并添加系统引导时自动挂载
dd if=/dev/zero of=/var/swap bs=1024 count=2048000 && \
chmod 600 /var/swap && \
mkswap /var/swap && \
swapon /var/swap && \
echo "/var/swap swap swap defaults 0 0" >> /etc/fstab && \
free -m
如果不需要了,收回swap空间
swapoff /var/swap && rm /var/swap
取消开机自动挂载
vim /etc/fstab
将/var/swap swap swap defaults 0 0
行注释或者删除即可
软件更新
安装screen
并创建screen
窗口,防止更新过程中ssh
中断造成安装不完整
apt update && apt install screen -y && screen -S ss
软件更新并自动删除不使用的软件包
apt upgrade -y && apt autoremove -y
安装常用软件
apt install vim curl git unzip wget speedtest-cli vnstat net-tools -y
修改系统时区
将系统时区设置为Asia/Shanghai
timedatectl set-timezone Asia/Shanghai
启用bbr
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf && \
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf && \
sysctl -p && lsmod | grep bbr
返回值有tcp_bbr
模块即说明bbr
已启用
开启crontab
日志
vim /etc/rsyslog.d/50-default.conf
取消注释#cron.* /var/log/cron.log
,保存并退出
重启rsyslog
服务
service rsyslog restart
使用tail
命令查看crontab
日志
tail -f /var/log/cron.log
配置journalctl
时间久了,journalctl会占用较大磁盘空间。使用以下命令查看journalctl当前占用的磁盘空间大小
journalctl --disk-usage
清理journalctl占用的磁盘空间,例如,将其限定到200M
journalctl --vacuum-size=200M
以上命令一次有效,随着时间的推移,journalctl还是会占用超过200M磁盘空间。若想永久有效,需要修改journalctl的配置文件
vim /etc/systemd/journald.conf
取消注释SystemMaxUse
和ForwardToSyslog
,将其值修改为如下:
SystemMaxUse=200M
ForwardToSyslog=no
重启journalctl服务生效
systemctl restart systemd-journald.service
清除bash历史记录
history -c && cat /dev/null > ~/.bash_history