一、Linux系统环境搭建基础
在接触Linux系统管理前,首要任务是完成基础环境配置。对于物理服务器或虚拟机环境,需通过终端命令确认网络连通性。使用ip addr show(或简写为ip a)命令可查看所有网络接口信息,其中以inet开头的条目即为IPv4地址。对于IPv6环境,则需关注inet6标识的地址。
关键操作示例:
# 查看所有网络接口信息ip addr show# 仅显示简化的网络信息(部分系统支持)ip a# 过滤出IPv4地址(结合grep命令)ip a | grep 'inet ' | grep -v '127.0.0.1'
二、SSH远程连接配置详解
SSH(Secure Shell)是Linux系统管理的核心工具,其配置涉及三个关键参数:
- 主机地址:即前述获取的服务器IP
- 端口号:默认使用22端口(生产环境建议修改为非标准端口增强安全性)
- 认证方式:支持密码认证与密钥认证两种模式
图形化工具操作流程:
- 打开终端模拟器(如Xshell、Tabby等通用工具)
- 创建新会话:
会话管理 → 新建 - 配置连接参数:
- 协议选择:SSH2
- 主机地址:输入服务器IP
- 端口号:默认22(修改需同步调整服务器
/etc/ssh/sshd_config配置)
- 用户认证:
- 密码认证:直接输入系统用户密码
- 密钥认证:需提前生成密钥对(
ssh-keygen命令),并将公钥上传至服务器~/.ssh/authorized_keys文件
命令行连接方式:
# 密码认证连接ssh username@server_ip# 密钥认证连接(指定私钥路径)ssh -i ~/.ssh/id_rsa username@server_ip# 指定非标准端口连接ssh -p 2222 username@server_ip
三、用户与权限管理实践
系统安全的核心在于用户权限控制,需重点掌握以下操作:
1. 用户创建与管理
# 创建新用户(禁止直接使用root登录)sudo adduser newuser# 设置用户密码sudo passwd newuser# 删除用户(保留家目录)sudo userdel username# 完全删除用户(包括家目录)sudo userdel -r username
2. 权限分配策略
- sudo权限:通过
visudo命令编辑配置文件,为特定用户授予管理员权限 - 文件权限:使用
chmod命令设置读写执行权限(数字模式如755,符号模式如u+x) - 用户组管理:通过
usermod -aG groupname username将用户加入附加组
最佳实践示例:
# 授予用户sudo权限(需编辑/etc/sudoers文件)newuser ALL=(ALL) ALL# 修改文件权限(所有者可读写执行,组用户可读执行,其他用户仅执行)chmod 755 script.sh# 将用户加入docker组(避免每次使用docker命令时加sudo)sudo usermod -aG docker $USER
四、系统监控与维护技巧
1. 资源监控命令
# 实时监控系统资源tophtop # 增强版top(需安装)# 查看磁盘空间df -h# 查看内存使用free -m# 查看进程树pstree -p
2. 日志管理
-
核心日志文件路径:
/var/log/syslog:系统通用日志/var/log/auth.log:认证相关日志/var/log/nginx/access.log:Web服务访问日志(示例)
-
日志轮转配置:通过
/etc/logrotate.conf及子配置文件实现日志自动切割
五、安全加固方案
1. 防火墙配置
# 安装ufw(简易防火墙工具)sudo apt install ufw# 允许SSH服务sudo ufw allow 22/tcp# 启用防火墙sudo ufw enable# 查看防火墙状态sudo ufw status
2. 密钥认证部署
# 生成密钥对(客户端操作)ssh-keygen -t ed25519 -C "admin@example.com"# 上传公钥至服务器ssh-copy-id -i ~/.ssh/id_ed25519.pub username@server_ip# 禁用密码认证(服务器端操作)sudo sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_configsudo systemctl restart sshd
六、自动化运维实践
1. Cron定时任务
# 编辑当前用户的crontabcrontab -e# 示例:每天凌晨3点执行备份脚本0 3 * * * /home/user/backup.sh# 查看cron日志grep CRON /var/log/syslog
2. Shell脚本编程
#!/bin/bash# 示例:批量创建用户脚本USER_LIST=("user1" "user2" "user3")for USER in "${USER_LIST[@]}"; doif ! id "$USER" &>/dev/null; thensudo useradd -m "$USER"echo "Created user: $USER"elseecho "User $USER already exists"fidone
通过系统化的学习与实践,读者可逐步掌握Linux系统管理的核心技能。建议结合虚拟化环境(如虚拟机或容器)进行实操训练,同时关注开源社区最新动态(如GNU/Linux发行版更新、Shell编程技巧等),持续提升运维能力。对于企业级应用,可进一步探索配置管理工具(Ansible/Puppet)和容器编排技术(Kubernetes),构建自动化运维体系。