插件窝 干货文章 Linux系统中的安全设置和用户权限管理

Linux系统中的安全设置和用户权限管理

sudo 权限 username 用户 370    来源:    2025-04-18

Linux系统安全设置与用户权限管理指南

一、基础安全设置

1. 系统更新与补丁管理

# 更新软件包列表
sudo apt update        # Debian/Ubuntu
sudo yum check-update  # CentOS/RHEL

# 升级所有已安装软件包
sudo apt upgrade       # Debian/Ubuntu
sudo yum update        # CentOS/RHEL

# 自动安全更新
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades

2. SSH安全配置

修改/etc/ssh/sshd_config文件:

Port 2222                      # 修改默认端口
PermitRootLogin no             # 禁止root直接登录
MaxAuthTries 3                 # 最大尝试次数
LoginGraceTime 1m              # 登录超时时间
AllowUsers user1 user2         # 只允许特定用户登录
PasswordAuthentication no      # 禁用密码认证,使用密钥

3. 防火墙配置

# UFW (Ubuntu)
sudo ufw enable
sudo ufw allow 2222/tcp
sudo ufw limit 22/tcp         # 限制连接速率

# firewalld (CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload

二、用户与组管理

1. 用户账户管理

# 创建用户
sudo useradd -m -s /bin/bash username
sudo passwd username

# 修改用户属性
sudo usermod -aG sudo username   # 添加sudo权限
sudo usermod -L username        # 锁定账户
sudo usermod -U username        # 解锁账户

# 删除用户
sudo userdel -r username        # 同时删除家目录

2. 组管理

# 创建组
sudo groupadd groupname

# 添加用户到组
sudo usermod -aG groupname username

# 查看用户所属组
groups username

3. Sudo权限管理

编辑/etc/sudoers或使用visudo

# 允许用户执行所有命令
username ALL=(ALL:ALL) ALL

# 允许组执行特定命令
%groupname ALL=/usr/bin/apt update, /usr/bin/apt upgrade

三、文件权限管理

1. 基本权限

# 修改权限
chmod 755 filename      # rwxr-xr-x
chmod u+x script.sh     # 给所有者添加执行权限

# 修改所有者
chown user:group file
chown -R user:group dir # 递归修改

# 特殊权限
chmod +s file           # 设置SUID/SGID
chmod +t dir            # 设置粘滞位

2. ACL权限

# 设置ACL
setfacl -m u:username:rwx file
setfacl -m g:groupname:rx file
setfacl -R -m u:username:rwx dir

# 查看ACL
getfacl file

四、安全增强工具

1. SELinux (CentOS/RHEL)

# 查看状态
sestatus

# 修改模式
sudo setenforce 1       # 强制模式
sudo setenforce 0       # 宽容模式

# 修改文件上下文
chcon -t httpd_sys_content_t /var/www/html

2. AppArmor (Ubuntu/Debian)

# 查看状态
sudo apparmor_status

# 配置策略
sudo aa-genprof /path/to/program

五、日志与监控

1. 重要日志文件

/var/log/auth.log      # 认证日志
/var/log/syslog        # 系统日志
/var/log/secure        # 安全日志(CentOS)
/var/log/audit/audit.log # SELinux审计日志

2. 日志分析工具

# 查看失败登录尝试
grep "Failed password" /var/log/auth.log

# 使用journalctl
journalctl -u sshd --since "1 hour ago"

六、最佳实践

  1. 最小权限原则:只授予完成任务所需的最小权限
  2. 定期审计:定期检查用户账户、权限和日志
  3. 密码策略:设置强密码要求

    # 修改/etc/login.defs
    PASS_MAX_DAYS 90
    PASS_MIN_DAYS 7
    PASS_WARN_AGE 14
    
    # 安装libpam-pwquality
    sudo apt install libpam-pwquality
    
  4. 禁用不必要的服务sudo systemctl disable servicename
  5. 使用密钥认证:替代密码登录SSH

通过以上设置和管理措施,可以显著提高Linux系统的安全性,防止未经授权的访问和数据泄露。