0

0

CentOS用户权限如何管理_CentOS用户与组权限设置指南

蓮花仙者

蓮花仙者

发布时间:2025-09-13 19:40:01

|

275人浏览过

|

来源于php中文网

原创

答案:CentOS权限管理通过用户组、文件权限(rwx)和特殊权限位(SUID/SGID/Sticky)实现访问控制,结合sudoers配置最小化授权,确保系统安全与协作效率。

centos用户权限如何管理_centos用户与组权限设置指南

CentOS用户权限管理的核心在于通过用户(user)和组(group)机制,结合文件系统权限(读、写、执行)以及一些特殊权限位,来精细化控制系统资源的访问。这不仅确保了多用户环境下的系统安全性,也极大提升了团队协作的效率和系统的稳定性。简单来说,就是谁能做什么、不能做什么,都在这里被严格定义和执行。

CentOS用户与组权限设置指南

在CentOS中,管理用户和组权限远不止是敲几个命令那么简单,它更像是一门艺术,需要在安全、便利和可维护性之间找到一个微妙的平衡点。我个人在处理生产环境的权限问题时,常常会遇到这样的困境:权限给得太宽,安全隐患大;权限收得太紧,开发人员抱怨工作受阻。所以,理解其背后的逻辑,远比记住命令本身重要。

如何在CentOS中创建、修改和删除用户与用户组?

我记得刚接触Linux那会儿,最头疼的就是这些命令的参数,总觉得记不住。但用多了,也就成了肌肉记忆。创建、修改和删除用户与组是权限管理的基础。

创建用户:

useradd
这是添加新用户的命令。通常,我们会这样用:
sudo useradd -m -s /bin/bash newuser
-m
会自动创建用户的主目录(
/home/newuser
),这是个好习惯。
-s /bin/bash
指定用户的默认shell。如果省略,通常会默认一个,但明确指定能避免一些意外。 创建后,别忘了给用户设置密码:
sudo passwd newuser
系统会提示你输入两次密码。

修改用户:

usermod
当用户需要改变某些属性时,
usermod
就派上用场了。比如,把用户加入到某个组:
sudo usermod -aG developers newuser
-aG
是追加用户到指定组。注意,只用
-G
会把用户从其他组中移除,只保留新指定的组,这在生产环境中是极其危险的操作,我曾经就犯过这样的错误,导致用户权限全乱了。 修改用户主目录或shell也很常见:
sudo usermod -d /new/home/dir -s /bin/sh newuser

删除用户:

userdel
当一个用户不再需要时,删除它:
sudo userdel -r olduser
-r
会同时删除用户的主目录和邮件池,通常推荐使用,以清理干净。如果不加
-r
,那些遗留文件可能会成为安全隐患或占用磁盘空间。

创建组:

groupadd
创建新的用户组,用于组织用户和管理共享权限:
sudo groupadd newgroup

修改组:

groupmod
修改组的名称:
sudo groupmod -n new_group_name old_group_name

删除组:

groupdel
删除一个空组:
sudo groupdel oldgroup
如果组里还有用户,你需要先将这些用户从组中移除,或者先删除用户。系统不会允许你直接删除一个非空组。

理解CentOS文件与目录权限:rwx、数字模式与特殊权限?

很多人只知道

chmod 777
,但那简直是安全噩梦,尤其是在生产环境。真正理解每个数字和字母背后的含义,才能玩转权限,而不是制造麻烦。

基础权限:rwx 使用

ls -l
命令,你会看到类似这样的输出:
-rwxr-xr--. 1 user group 4096 Jan 1 10:00 filename
第一个字符表示文件类型(
-
是普通文件,
d
是目录)。 接下来的九个字符分为三组,分别代表:

  1. 文件所有者(user)的权限:
    rwx
    (读、写、执行)
  2. 文件所属组(group)的权限:
    r-x
    (读、执行,无写)
  3. 其他用户(others)的权限:
    r--
    (读,无写、执行)
  • r
    (read):
    • 对于文件:可以查看文件内容。
    • 对于目录:可以列出目录下的文件和子目录(但不能进入或查看文件内容)。
  • w
    (write):
    • 对于文件:可以修改或删除文件内容。
    • 对于目录:可以在目录中创建、删除、重命名文件或子目录(即便对目录下的文件没有写权限,只要对目录有写权限,就可以删除或重命名这些文件)。
  • x
    (execute):
    • 对于文件:可以作为程序运行。
    • 对于目录:可以进入目录。

数字模式(八进制表示) 每个权限位都可以用数字表示:

r = 4
w = 2
x = 1
无权限 = 0

所以,

rwx
就是
4+2+1=7
r-x
4+0+1=5
r--
4+0+0=4
。 一个常见的权限设置是
644
(文件所有者可读写,组内用户和其他用户只读)或
755
(目录所有者可读写执行,组内用户和其他用户可读执行)。
sudo chmod 755 /path/to/directory
sudo chown user:group /path/to/file
用于改变文件或目录的所有者和所属组。

特殊权限位:SUID, SGID, Sticky Bit 这些权限位比较特殊,但功能强大,用得好能提升效率,用不好则可能成为安全漏洞。

  • SUID (Set User ID):

    • 出现在文件所有者的
      x
      位上(
      s
      代替
      x
      s
      代替
      -
      )。
    • 作用:当一个用户执行带有SUID权限的可执行文件时,该程序会以文件所有者的权限运行,而不是执行者的权限。
    • 典型例子:
      passwd
      命令,它允许普通用户修改自己的密码,但实际操作的是
      /etc/shadow
      文件,而这个文件只有root才有写权限。
    • 风险:如果恶意程序拥有SUID权限,它就能以root身份运行,造成巨大危害。
    • 设置:
      chmod u+s filename
      chmod 4755 filename
  • SGID (Set Group ID):

    S_Space 商城系统
    S_Space 商城系统

    系统特色及功能简介,主要包括以下方面: 合一:包括语言、模板风格、用户群;此版本内订简体、繁体、英文于一体;可另增设其它语言选项;模板风格指可以存在多界面的情况下进行界面互换;用户群指可写于单用户版本,也可用于多用户商城版本,具体设置可通过会员组权限修改 会员组定制:系统初安装时,内订6级会员分组,即 游客组、管理员组、VIP用户组、柜台用户组、柜台VIP用户组;此6级会员组不可以删除。另管理

    下载
    • 出现在文件所属组的
      x
      位上(
      s
      代替
      x
      s
      代替
      -
      )。
    • 作用于文件:当执行带有SGID权限的可执行文件时,程序会以文件所属组的权限运行。
    • 作用于目录:在一个设置了SGID的目录下创建的新文件或目录,其所属组会自动继承该目录的所属组,而不是创建者的主组。这对于团队协作非常有用。
    • 设置:
      chmod g+s filename
      chmod 2755 directory
  • Sticky Bit (粘滞位):

    • 出现在其他用户的
      x
      位上(
      t
      代替
      x
      t
      代替
      -
      )。
    • 作用:主要用于目录。在一个设置了Sticky Bit的目录下,用户只能删除或重命名自己创建的文件或子目录,即使他们对该目录有写权限。
    • 典型例子:
      /tmp
      目录,所有用户都可以在
      /tmp
      下创建文件,但只能删除自己的文件。
    • 设置:
      chmod o+t directory
      chmod 1777 directory

理解这些特殊权限,能帮助我们构建更健壮、更安全的系统。我个人经验,乱用SUID/SGID是新手常犯的错误,一定要慎重。

CentOS下如何安全地授予用户管理权限(sudoers配置)?

我个人经验,直接给root密码是下策,尤其是在多用户或团队环境中。

sudo
是优雅且安全的解决方案,它允许普通用户以其他用户(通常是root)的身份执行特定命令,而无需知道root密码。但配置时务必小心,一步错可能导致大问题。

sudo
的核心:
/etc/sudoers
文件
这个文件定义了哪些用户或组可以执行哪些命令,以及是否需要密码。 切记: 永远不要直接用文本编辑器打开并修改
/etc/sudoers
!请务必使用
visudo
命令。
visudo
会在你保存前检查语法错误,避免因为配置错误导致所有用户都无法使用
sudo
,从而将你锁在root权限之外。

使用

visudo
编辑
sudoers
文件
sudo visudo
它会打开一个文本编辑器(通常是vi)。你可能会看到类似这样的行:
root    ALL=(ALL)       ALL
这表示root用户可以在任何主机上以任何用户的身份执行任何命令。

授予特定用户

sudo
权限 要让
newuser
拥有与root相同的权限,可以添加一行:
newuser ALL=(ALL) ALL
这意味着
newuser
可以在任何主机上以任何用户的身份执行任何命令。这通常是给系统管理员的权限。

授予特定组

sudo
权限 更常见且推荐的做法是,将用户加入到
wheel
组(或自定义的
admin
组),然后给这个组
sudo
权限。CentOS默认配置通常已经允许
wheel
组的用户使用
sudo
。 查找这一行(可能被注释掉了):
%wheel  ALL=(ALL)       ALL
取消注释(删除前面的
#
),然后将需要
sudo
权限的用户加入
wheel
组:
sudo usermod -aG wheel newuser
%
符号表示这是一个组。

不要求密码(谨慎使用) 在某些自动化脚本或特定场景下,你可能希望用户执行某些命令时不需要输入密码。可以这样配置:

newuser ALL=(ALL) NOPASSWD: ALL
或者针对特定命令:
newuser ALL=/sbin/reboot, /sbin/shutdown
这意味着
newuser
可以在不输入密码的情况下执行
reboot
shutdown
命令。
NOPASSWD
选项需要极其谨慎,因为它大大降低了安全性。我个人在生产环境基本不会对所有命令启用
NOPASSWD
,除非有非常特殊的、经过严格评估的场景。

最佳实践

  1. 最小权限原则:只授予用户完成工作所需的最小权限。
  2. 使用组管理:通过组来管理权限比单独管理每个用户更高效、更易维护。
  3. 日志审计
    sudo
    操作会被记录在
    /var/log/secure
    中,这对于安全审计非常重要。
  4. 定期审查:定期检查
    /etc/sudoers
    文件和用户组关系,确保权限设置仍然合理。

权限管理是一个持续的过程,需要根据实际需求和安全策略不断调整。没有一劳永逸的方案,只有不断学习和实践,才能更好地驾驭它。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1349

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

704

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

294

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

776

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

573

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

546

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

297

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

381

2023.07.25

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

19

2026.01.20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.5万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号