当前位置:首页 > 服务器技术 > 正文

筑牢系统防线(Linux用户安全设置从入门到精通)

在当今网络环境中,Linux系统的安全性至关重要。无论是个人用户还是企业服务器,合理的用户安全设置都能有效防止未授权访问和数据泄露。本教程将手把手教你如何为Linux系统设置安全的用户环境,即使你是刚接触Linux的小白,也能轻松上手。

筑牢系统防线(Linux用户安全设置从入门到精通) Linux用户安全 账户权限管理 密码策略设置 SSH安全配置 第1张

一、理解Linux用户与组的基本概念

Linux是一个多用户操作系统,每个用户都有唯一的用户名和用户ID(UID)。用户可以被分配到不同的“组”中,组用于统一管理权限。常见的用户类型包括:

  • root用户:超级管理员,拥有系统最高权限(UID=0)
  • 普通用户:日常操作使用,权限受限
  • 系统用户:用于运行服务,通常不能登录

二、创建安全的用户账户

避免直接使用root账户进行日常操作。应创建普通用户,并在需要时使用sudo提权。

创建新用户的命令如下:

sudo adduser username  

系统会提示你设置密码并填写用户信息。创建完成后,可将用户加入sudo组以获得提权能力(Ubuntu/Debian):

sudo usermod -aG sudo username  

三、强化密码策略(密码策略设置)

弱密码是系统安全的最大隐患之一。我们可以通过PAM(Pluggable Authentication Modules)模块来强制执行强密码策略。

安装libpam-pwquality包(Debian/Ubuntu):

sudo apt install libpam-pwquality  

编辑配置文件/etc/pam.d/common-password,添加或修改如下行:

password requisite pam_pwquality.so retry=3 minlen=10 difok=3 ucredit=-1 lcredit=-1 dcredit=-1  

参数说明:

  • minlen=10:密码至少10位
  • ucredit=-1:至少包含1个大写字母
  • lcredit=-1:至少包含1个小写字母
  • dcredit=-1:至少包含1个数字
  • difok=3:新密码至少有3位与旧密码不同

四、限制用户登录与会话(账户权限管理)

通过/etc/security/access.conf可以控制哪些用户可以从哪些终端登录。例如,禁止root从远程SSH登录:

echo "- : root : ALL EXCEPT LOCAL" | sudo tee -a /etc/security/access.conf  

同时确保PAM启用了access模块,在/etc/pam.d/sshd中添加:

account required pam_access.so  

五、安全配置SSH远程访问(SSH安全配置)

SSH是远程管理Linux的主要方式,必须加固其配置。编辑/etc/ssh/sshd_config文件:

# 禁用root直接登录PermitRootLogin no# 仅允许特定用户登录(可选)AllowUsers alice bob# 更改默认端口(可选但推荐)Port 2222# 禁用密码登录,仅使用密钥认证(高安全推荐)PasswordAuthentication noPubkeyAuthentication yes  

修改后重启SSH服务:

sudo systemctl restart sshd  

六、定期审计与监控

使用以下命令查看登录历史和用户活动:

last          # 查看最近登录记录who           # 查看当前在线用户sudo tail /var/log/auth.log  # 查看认证日志(Debian/Ubuntu)  

结语

通过以上步骤,你可以显著提升Linux系统的用户安全性。记住,安全不是一次性的设置,而是一个持续的过程。定期更新系统、审查用户权限、监控异常行为,都是保障系统安全的重要环节。掌握这些Linux用户安全账户权限管理密码策略设置SSH安全配置的核心技巧,你就能为你的Linux系统筑起一道坚固的防线。