Linux系统如何进行安全设置和用户权限管理

来源:AI技术网作者:会飞的猪头衔:草根站长
导读:本期聚焦于小伙伴创作的《Linux系统如何进行安全设置和用户权限管理》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《Linux系统如何进行安全设置和用户权限管理》有用,将其分享出去将是对创作者最好的鼓励。

Linux用户权限管理基础

Linux系统的权限管理基于用户和用户组机制,每个文件和进程都关联了对应的属主、属组和其他用户的权限标识。理解用户、用户组与权限的对应关系是做好权限管理的前提。

Linux系统如何进行安全设置和用户权限管理

用户与用户组基础操作

系统中所有用户的信息存储在/etc/passwd文件中,用户组信息存储在/etc/group文件。常用的用户管理命令如下:

  • 创建新用户:useradd
  • 设置用户密码:passwd
  • 修改用户所属组:usermod
  • 创建用户组:groupadd

以下是创建用户并分配用户组的示例代码:

# 创建名为dev的用户组
groupadd dev
# 创建用户test_user并指定主组为dev
useradd -g dev test_user
# 为test_user设置密码
passwd test_user
# 查看用户所属组信息
groups test_user

文件权限基础

Linux文件权限分为读(r)、写(w)、执行(x)三种,分别对应数字4、2、1。使用ls -l命令可以查看文件的权限信息,输出格式中前10位字符的含义如下:

  • 第1位:文件类型,-表示普通文件,d表示目录
  • 第2-4位:属主权限
  • 第5-7位:属组权限
  • 第8-10位:其他用户权限

文件权限配置方法

修改文件权限最常用的命令是chmod,可以基于数字模式或符号模式调整权限。修改文件属主和属组使用chown命令。

chmod命令使用

数字模式直接通过三位数字组合设置权限,符号模式则通过u(属主)、g(属组)、o(其他用户)、a(所有用户)配合+、-、=操作调整权限。

以下是两种模式的使用示例:

# 数字模式:设置文件权限为属主读写执行,属组读执行,其他用户读执行
chmod 755 test.sh
# 符号模式:给属组添加写权限
chmod g+w test.sh
# 符号模式:移除其他用户的所有权限
chmod o-rwx test.sh
# 递归修改目录下所有文件的权限
chmod -R 644 /data/logs

chown命令使用

修改文件属主和属组时,若只修改属主直接跟用户名,同时修改属主和属组使用用户名:属组名的格式。

# 修改test.txt的属主为test_user
chown test_user test.txt
# 修改test.txt的属主为test_user,属组为dev
chown test_user:dev test.txt
# 递归修改/data目录的属主和属组
chown -R test_user:dev /data

sudo权限管理

sudo允许普通用户以root身份执行特定命令,避免直接使用root账号操作,降低误操作风险。sudo的配置文件为/etc/sudoers,建议使用visudo命令编辑该文件,避免语法错误导致sudo失效。

基础sudo配置

/etc/sudoers文件中,常见的配置规则如下:

  • 允许用户执行所有命令:用户名 ALL=(ALL) ALL
  • 允许用户执行特定命令:用户名 ALL=(ALL) /usr/bin/ls,/usr/bin/cat
  • 允许组用户执行所有命令:%组名 ALL=(ALL) ALL
  • 免密码执行命令:用户名 ALL=(ALL) NOPASSWD: ALL

以下是配置普通用户使用sudo的示例:

# 使用visudo编辑配置文件
visudo
# 在文件末尾添加以下内容,允许test_user执行所有命令
test_user ALL=(ALL) ALL
# 保存退出后,test_user可以通过以下方式执行root命令
sudo ls /root
# 查看当前用户的sudo权限
sudo -l

系统安全设置实践

除了权限管理,还需要配合基础的安全设置加固Linux系统,减少安全风险。

账号安全设置

  • 禁用root远程登录:修改/etc/ssh/sshd_config,设置PermitRootLogin no,重启sshd服务生效
  • 设置密码复杂度策略:修改/etc/security/pwquality.conf,配置密码最小长度、复杂度要求
  • 定期清理无用账号:删除长期不使用的用户,避免账号泄露风险

SSH服务安全加固

SSH是Linux远程管理的主要方式,加固SSH配置可以有效降低暴力破解风险:

# 修改SSH配置文件
vim /etc/ssh/sshd_config
# 修改以下配置项
# 禁止root远程登录
PermitRootLogin no
# 修改默认端口,避免使用22端口
Port 2222
# 禁止使用空密码登录
PermitEmptyPasswords no
# 重启sshd服务使配置生效
systemctl restart sshd

防火墙基础配置

使用firewalld或iptables配置防火墙规则,只开放必要的端口,关闭无用端口。以下是firewalld的基础操作示例:

# 启动firewalld服务
systemctl start firewalld
# 设置开机自启
systemctl enable firewalld
# 开放2222端口(SSH修改后的端口)
firewall-cmd --add-port=2222/tcp --permanent
# 移除默认的22端口开放
firewall-cmd --remove-port=22/tcp --permanent
# 重新加载防火墙规则
firewall-cmd --reload
# 查看当前开放的端口
firewall-cmd --list-ports

权限管理常见问题

在实际使用中,经常会遇到权限相关的报错,以下是常见问题的排查方法:

  • 提示Permission denied:检查对应文件的权限设置,确认当前用户是否有对应操作权限
  • sudo命令无法使用:检查/etc/sudoers配置是否正确,用户是否在sudo组
  • 目录无法进入:目录需要有执行权限才能进入,检查目录的x权限是否配置

合理的用户权限管理和安全设置是Linux系统稳定运行的保障,生产环境中需要根据实际业务需求细化权限分配,避免过度授权,同时定期审计权限配置和安全规则,及时修复潜在风险。

Linux用户权限管理安全设置sudochmod修改时间:2026-06-24 22:42:28

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。