Linux系统管理
用户与组管理
用户管理命令
# 用户创建
useradd [选项] 用户名
useradd -m -s /bin/bash username # 创建用户并创建家目录,指定shell
useradd -G sudo,docker username # 创建用户并加入多个附加组
# 用户修改
usermod [选项] 用户名
usermod -aG wheel username # 将用户添加到wheel组
usermod -l newname oldname # 修改用户名
usermod -L username # 锁定用户
usermod -U username # 解锁用户
# 用户删除
userdel username # 删除用户(保留家目录)
userdel -r username # 删除用户及家目录
# 查看用户信息
id username # 显示用户UID、GID和所属组
finger username # 显示用户详细信息用户配置文件
| 文件 | 说明 |
|---|---|
/etc/passwd | 用户账户信息(用户名、UID、家目录、Shell等) |
/etc/shadow | 用户密码信息(加密密码、密码策略等) |
/etc/group | 组账户信息 |
/etc/gshadow | 组密码信息 |
组管理命令
# 创建组
groupadd groupname
groupadd -g 1001 groupname # 指定GID
# 修改组
groupmod -n newname oldname # 修改组名
groupmod -g 1002 groupname # 修改GID
# 删除组
groupdel groupname
# 管理组成员
gpasswd -a user groupname # 添加用户到组
gpasswd -d user groupname # 从组中移除用户
gpasswd -M user1,user2 groupname # 设置组成员列表密码管理
# 修改密码
passwd username # 修改用户密码
passwd -l username # 锁定用户密码
passwd -u username # 解锁用户密码
passwd -e username # 强制用户下次登录修改密码
# 密码策略设置
chage -l username # 查看密码策略
chage -M 90 username # 设置密码最大有效期90天
chage -m 7 username # 设置密码最小使用天数
chage -W 7 username # 设置密码过期前警告天数
chage -I 30 username # 设置密码过期后账户锁定天数服务管理(systemd)
systemctl基本命令
# 服务控制
systemctl start service # 启动服务
systemctl stop service # 停止服务
systemctl restart service # 重启服务
systemctl reload service # 重载配置(不中断服务)
systemctl status service # 查看服务状态
# 开机自启管理
systemctl enable service # 设置开机自启
systemctl disable service # 取消开机自启
systemctl is-enabled service # 查看是否开机自启
# 服务状态检查
systemctl is-active service # 检查服务是否运行
systemctl is-failed service # 检查服务是否失败
systemctl list-units --type=service # 列出所有服务
systemctl list-unit-files --type=service # 列出所有服务文件服务配置文件
# 服务单元文件位置
/etc/systemd/system/ # 系统管理员创建的服务
/lib/systemd/system/ # 软件包安装的服务
/usr/lib/systemd/system/ # 同上
# 重载systemd配置
systemctl daemon-reload # 重新加载所有单元文件自定义服务示例
# /etc/systemd/system/myapp.service
[Unit]
Description=My Application Service
After=network.target
Wants=network-online.target
[Service]
Type=simple
User=myapp
Group=myapp
WorkingDirectory=/opt/myapp
ExecStart=/opt/myapp/bin/myapp
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target系统信息查看
主机信息
# 主机名管理
hostname # 查看主机名
hostnamectl set-hostname new-name # 设置主机名
hostnamectl status # 查看主机信息
# 系统信息
uname -a # 显示所有系统信息
uname -r # 显示内核版本
uname -m # 显示系统架构
# 发行版信息
cat /etc/os-release # LSB发行版信息
lsb_release -a # 发行版详细信息
cat /etc/issue # 系统版本信息系统运行时间
uptime # 系统运行时间和负载
who -b # 系统最后启动时间
last reboot # 重启历史硬件信息
# CPU信息
lscpu # CPU详细信息
cat /proc/cpuinfo # CPU详细信息
nproc # CPU核心数
# 内存信息
free -h # 内存使用情况
cat /proc/meminfo # 内存详细信息
# 磁盘信息
lsblk # 块设备列表
fdisk -l # 磁盘分区信息
df -h # 文件系统使用情况系统时间管理
时间查看与设置
# 查看时间
date # 显示当前时间
date +"%Y-%m-%d %H:%M:%S" # 格式化输出
timedatectl # 查看时间和时区设置
# 设置时间
date -s "2026-04-20 10:30:00" # 设置系统时间
timedatectl set-time "2026-04-20 10:30:00"
# 时区管理
timedatectl list-timezones # 列出所有时区
timedatectl set-timezone Asia/Shanghai # 设置时区
# NTP时间同步
timedatectl set-ntp true # 启用NTP同步硬件时钟
hwclock --show # 显示硬件时钟
hwclock --systohc # 将系统时间写入硬件时钟
hwclock --hctosys # 将硬件时钟写入系统时间系统日志管理
journalctl日志查看
# 基本用法
journalctl # 查看所有日志
journalctl -f # 实时跟踪日志
journalctl -n 100 # 显示最近100条日志
journalctl --since "2026-04-01" # 指定时间范围
journalctl --until "2026-04-20"
# 按服务过滤
journalctl -u nginx # 查看nginx服务日志
journalctl -u sshd --since today
# 按优先级过滤
journalctl -p err # 错误级别及以上
journalctl -p warning # 警告级别及以上
# 内核日志
journalctl -k # 内核日志传统日志文件
# 系统日志位置
/var/log/messages # 主系统日志(RHEL/CentOS)
/var/log/syslog # 系统日志(Debian/Ubuntu)
/var/log/auth.log # 认证日志
/var/log/kern.log # 内核日志
/var/log/dmesg # 启动日志
# 日志查看工具
tail -f /var/log/syslog # 实时查看日志
grep "error" /var/log/messages # 搜索错误日志系统更新与软件包管理
APT(Debian/Ubuntu)
# 更新软件源
sudo apt update
# 升级软件包
sudo apt upgrade # 升级已安装的包
sudo apt full-upgrade # 完整升级(可能删除包)
# 安装/删除软件
sudo apt install package
sudo apt remove package # 删除软件(保留配置)
sudo apt purge package # 完全删除
# 搜索软件
apt search keyword
apt show package # 显示软件包信息
# 清理缓存
sudo apt autoremove # 删除不需要的依赖
sudo apt clean # 清理下载缓存DNF/YUM(RHEL/CentOS/Fedora)
# 更新系统
sudo dnf update # 更新所有软件包
# 安装/删除软件
sudo dnf install package
sudo dnf remove package
# 搜索软件
dnf search keyword
dnf info package
# 软件组管理
dnf group list # 列出软件组
dnf group install "Development Tools"
# 清理缓存
sudo dnf clean all💡 系统管理建议:
- 定期更新系统和软件包
- 合理设置用户权限和密码策略
- 使用systemd管理服务,避免使用init.d
- 定期检查系统日志,及时发现异常
🔗 相关笔记: 02.01_帮助 02.07_进程管理 06.01_系统安全