Linux服务器设置是确保系统稳定、安全运行的核心工作,涵盖系统初始化、权限管理、网络配置、安全加固等多个环节,以下从实际操作出发,详细说明关键步骤及注意事项。

系统初始化与基础配置
新服务器首次启动后,需完成基础系统优化,首先更新系统软件包:在Ubuntu/Debian中使用sudo apt update && sudo apt upgrade -y,CentOS/RHEL中则用sudo yum update -y,确保系统组件为最新版本,修复潜在漏洞。
时区配置影响日志记录和定时任务,执行sudo timedatectl set-timezone Asia/Shanghai将时区设为北京时间,主机名配置便于服务器识别,通过sudo hostnamectl set-hostname server-name设置唯一主机名(如“web-server-01”)。
磁盘分区需根据业务需求规划,若新增数据盘,可用fdisk -l查看磁盘情况,使用fdisk /dev/sdb分区(输入n创建新分区,t修改分区类型为8e(LVM),w保存),然后格式化:mkfs.ext4 /dev/sdb1,最后挂载到指定目录(如/data),并配置/etc/fstab实现开机自动挂载,避免重启后挂载失效。
用户与权限管理
默认root用户权限过高,需创建普通用户并分配sudo权限,执行sudo adduser admin创建用户,sudo passwd admin设置密码,随后编辑/etc/sudoers文件(使用visudo安全编辑),在文件末尾添加admin ALL=(ALL) NOPASSWD:ALL,使admin用户无需密码即可执行sudo命令(生产环境建议保留密码验证)。
为提升安全性,可配置密钥登录替代密码,在客户端生成SSH密钥对:ssh-keygen -t rsa -b 4096,将公钥(~/.ssh/id_rsa.pub)通过ssh-copy-id admin@服务器IP上传至服务器,再修改/etc/ssh/sshd_config配置文件,设置PasswordAuthentication no禁用密码登录,重启SSH服务:sudo systemctl restart sshd。
不同用户权限需精细化控制,可通过用户组实现,例如创建webgroup组:sudo groupadd webgroup,将用户加入组:sudo usermod -aG webgroup admin,设置目录所属组:sudo chown -R admin:webgroup /var/www,并设置权限为775(组内用户可读写执行)。
网络配置与防火墙设置
静态IP配置确保服务地址固定,Ubuntu系统使用Netplan编辑/etc/netplan/01-netcfg.yaml如下:

network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [114.114.114.114, 8.8.8.8]
执行sudo netplan apply生效;CentOS系统则编辑/etc/sysconfig/network-scripts/ifcfg-eth0,设置BOOTPROTO=static,添加IPADDR=192.168.1.100、NETMASK=255.255.255.0、GATEWAY=192.168.1.1等参数,重启网络服务:sudo systemctl restart network。
防火墙是安全第一道防线,Ubuntu默认使用UFW,可通过sudo ufw enable启用,sudo ufw allow 22/tcp允许SSH端口,sudo ufw allow 80/tcp允许HTTP访问;CentOS使用firewalld,执行sudo firewall-cmd --permanent --add-service=ssh、sudo firewall-cmd --permanent --add-service=http,再sudo firewall-cmd --reload重新加载规则,需注意仅开放业务必需端口,避免安全风险。
安全加固与日志监控
SSH服务需进一步加固,编辑/etc/ssh/sshd_config,修改默认端口(如Port 2222),禁用root登录:PermitRootLogin no,设置空闲超时:ClientAliveInterval 300 120,重启SSH服务使配置生效。
安装Fail2ban防止暴力破解,执行sudo apt install fail2ban -y(Ubuntu)或sudo yum install fail2ban -y(CentOS),编辑/etc/fail2ban/jail.local,配置SSH拦截规则:
[sshd] enabled = true port = 2222 maxretry = 3 bantime = 3600
启动Fail2ban:sudo systemctl start fail2ban。
日志监控是问题排查的关键,系统日志默认存储在/var/log/目录,可通过logrotate配置日志轮转,避免单个日志文件过大,编辑/etc/logrotate.conf,设置日志按月轮转、保留3份:
/var/log/*.log {
monthly
missingok
rotate 3
compress
delaycompress
notifempty
}
同时使用journalctl -u nginx.service -f实时查看指定服务日志,或grep "error" /var/log/syslog过滤错误信息。

性能优化与定期维护
内核参数优化可提升系统性能,编辑/etc/sysctl.conf,添加以下配置:
net.ipv4.tcp_syncookies = 1 # 防SYN洪水攻击 vm.swappiness = 10 # 减少Swap使用 fs.file-max = 65535 # 增加最大文件句柄数
执行sudo sysctl -p生效。
定期清理临时文件和过期日志,使用sudo apt autoremove -y(Ubuntu)或sudo yum autoremove -y(CentOS)清理无用包,sudo find /var/log -name "*.log.*" -mtime +7 -delete删除7天前的旧日志。
配置定时任务自动化维护,执行crontab -e添加:
0 3 * * * /usr/bin/apt update && /usr/bin/apt upgrade -y # 每天凌晨3点更新系统 0 4 * * * /usr/bin/find /tmp -type f -mtime +1 -delete # 每天凌晨4点清理/tmp目录下1天前的文件
相关问答FAQs
Q1:忘记Linux服务器root密码如何重置?
A:需通过重启服务器进入GRUB引导菜单,在启动时按e编辑内核参数,找到linux或linux16行,末尾添加init=/bin/bash,按Ctrl+X进入单用户模式,执行mount -o remount,rw /重新挂载根目录,使用passwd root修改密码,输入exec /sbin/init重启系统即可。
Q2:如何查看Linux服务器的实时资源使用情况?
A:使用top命令查看CPU、内存、进程实时占用,按P按CPU排序、M按内存排序;htop是top的增强版(需安装),支持彩色显示和进程树;df -h查看磁盘剩余空间;free -h查看内存和Swap使用情况;iftop或nethogs可监控网络流量(需安装)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/23334.html