百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

第四节:用户与权限:你的服务器谁说了算?

off999 2025-02-21 14:50 52 浏览 0 评论

1. 用户与组:Linux权限体系的基础

1.1 用户与组的哲学设计

  • 最小权限原则:Linux默认禁止用户直接以root身份操作,强制权限隔离。
  • 用户分类
    • 普通用户:仅拥有个人目录(/home/user)的操作权限。
    • 系统用户:用于运行服务(如www-data运行Web服务),无登录权限。
    • 超级用户(root):拥有系统完全控制权。
  • 组的作用:将用户分类管理,简化权限分配。例如,将运维团队加入ops组,统一授予日志访问权限。

1.2 用户与组管理命令详解

用户管理

命令

用途

示例

useradd

创建用户

useradd -m -s /bin/bash alice

usermod

修改用户属性

usermod -aG sudo bob(将用户加入sudo组)

userdel

删除用户

userdel -r alice(同时删除家目录)

passwd

设置用户密码

passwd alice

id

查看用户信息

id alice

组管理

命令

用途

示例

groupadd

创建组

groupadd developers

groupmod

修改组属性

groupmod -n dev developers(重命名组)

groupdel

删除组

groupdel dev

gpasswd

管理组成员

gpasswd -a alice dev(将用户加入组)


2. 文件权限:数学模式与符号模式的终极解析

2.1 权限的二进制本质

  • 权限位:每个文件权限由3组(所有者/组/其他用户)的rwx(读/写/执行)组成,对应3位二进制数。
  • 数学模式计算
    • r=4, w=2, x=1,例如rwxr-xr--对应754:
所有者:4+2+1=7  
组:4+0+1=5  
其他:4+0+0=4

权限矩阵图

| 权限符号 | 二进制 | 数学值 | 描述                     |
|----------|--------|--------|--------------------------|
| rwx      | 111    | 7      | 读、写、执行             |
| rw-      | 110    | 6      | 读、写                   |
| r-x      | 101    | 5      | 读、执行                 |
| r--      | 100    | 4      | 只读                     |
| ---      | 000    | 0      | 无权限                   |

2.2 权限管理命令

修改权限

# 数学模式
chmod 755 script.sh  # 所有者rwx,组和其他r-x

# 符号模式
chmod u+x,g-w,o=r file.txt  # 所有者增加执行,组删除写,其他设为只读

修改所有者与所属组

chown alice:developers file.txt  # 修改所有者和组
chown -R alice:developers /data  # 递归修改目录权限

3. 高级权限控制:ACL与SELinux实战

3.1 ACL(访问控制列表)

  • 解决的问题:传统权限模型无法针对单个用户或组设置权限。
  • 启用ACL
# 检查文件系统是否支持ACL
tune2fs -l /dev/sda1 | grep "Default mount options"

# 挂载时启用ACL
mount -o remount,acl /

ACL操作命令

# 为用户alice添加读写权限
setfacl -m u:alice:rw file.txt

# 为组dev添加执行权限
setfacl -m g:dev:x script.sh

# 查看ACL权限
getfacl file.txt

ACL权限继承(目录默认权限)

# 设置目录的默认ACL权限(新建文件自动继承)
setfacl -d -m u:alice:rwx /shared_dir

3.2 SELinux:安全增强的终极防线

SELinux核心概念

  • 安全上下文:每个文件、进程和用户都有SELinux标签(如system_u:object_r:httpd_sys_content_t)。
  • 策略规则:定义哪些上下文可以相互访问。

生产案例:Web服务器权限问题

  1. 问题:Nginx无法读取/var/www/html下的文件,即使传统权限正确。
  2. 排查
# 查看文件SELinux上下文
ls -Z /var/www/html/index.html
# 输出:system_u:object_r:admin_home_t:s0 index.html
  • 问题:文件类型应为httpd_sys_content_t,实际为admin_home_t。
  1. 修复
# 修改文件SELinux类型
chcon -t httpd_sys_content_t /var/www/html/index.html

# 永久生效(需更新策略或使用semanage)
semanage fcontext -a -t httpd_sys_content_t "/var/www/html(/.*)?"
restorecon -Rv /var/www/html

SELinux模式管理

# 查看当前模式
getenforce  # 输出:Enforcing/Permissive/Disabled

# 临时切换模式
setenforce 0  # Permissive(仅记录不阻止)
setenforce 1  # Enforcing

# 修改配置文件永久生效
vi /etc/selinux/config
SELINUX=enforcing

4. 权限灾难案例与恢复

4.1 案例一:误执行chmod -R 777 /

  • 后果:系统关键文件(如/etc/shadow)权限暴露,安全防线崩溃。
  • 紧急恢复
  1. 进入救援模式或Live CD。
  2. 重新挂载根目录:
mount -o remount,rw /
  1. 使用备份权限修复:
# 从包管理器提取默认权限
rpm --setperms       # CentOS/RHEL
dpkg-reconfigure -f all  # Ubuntu/Debian
  1. 关键目录手动修复:
chmod 700 /root
chmod 644 /etc/passwd /etc/group
chmod 400 /etc/shadow

4.2 案例二:Sudo权限配置错误导致运维瘫痪

  • 错误配置
# 错误示例:允许普通用户无密码执行rm -rf
bob ALL=(ALL) NOPASSWD: /bin/rm -rf /
  • 后果:用户误操作可删除整个系统。修复步骤
    1. 通过单用户模式或物理控制台登录。
      2. 编辑/etc/sudoers或/etc/sudoers.d/下的配置文件:
    visudo  # 必须使用visudo命令编辑,防止语法错误
    1. 限制高危命令:
    # 正确示例:仅允许删除特定目录
    bob ALL=(ALL) NOPASSWD: /bin/rm -rf /data/tmp/*

    5. 企业级权限审计与监控

    5.1 审计工具:auditd

    • 安装与配置
    # 安装auditd
    yum install audit      # CentOS/RHEL
    apt-get install auditd # Ubuntu/Debian
    
    # 监控/etc/passwd文件访问
    auditctl -w /etc/passwd -p war -k passwd_access
    • 查看审计日志
    ausearch -k passwd_access -i  # 显示可读格式的日志

    5.2 实时权限监控脚本

    • 脚本功能:检测敏感文件权限变更并告警。
    #!/bin/bash
    MONITOR_FILES=("/etc/passwd" "/etc/shadow" "/etc/sudoers")
    for file in "${MONITOR_FILES[@]}"; do
        current_perm=$(stat -c "%a" "$file")
        last_perm=$(cat "/var/log/${file}_perm.log")
        if [ "$current_perm" != "$last_perm" ]; then
            echo "警报:$file 权限已从 $last_perm 变为 $current_perm!" | mail -s "权限变更告警" admin@example.com
            echo "$current_perm" > "/var/log/${file}_perm.log"
        fi
    done
    • 加入定时任务
    crontab -e
    * * * * * /path/to/permission_monitor.sh

    6. 权限管理进阶:LDAP与RBAC

    6.1 集中化管理:LDAP集成

    • OpenLDAP部署
    # Ubuntu安装
    apt-get install slapd ldap-utils
    dpkg-reconfigure slapd  # 交互式配置
    
    # 创建用户条目
    dn: uid=alice,ou=people,dc=example,dc=com
    objectClass: inetOrgPerson
    uid: alice
    cn: Alice Smith
    userPassword: {SSHA}hashed_password

    6.2 基于角色的访问控制(RBAC)

    • 角色定义
    # 创建角色组
    groupadd devops
    groupadd developers
    
    # 通过sudoers分配权限
    %devops ALL=(ALL) /usr/bin/systemctl restart nginx
    %developers ALL=(ALL) NOPASSWD: /usr/bin/git pull

    总结:构建坚不可摧的权限体系

    权限管理是Linux运维的“守门人”,从基础的用户/组到企业级的SELinux和LDAP,每一层防护都在为系统安全加锁。通过本节的学习,你已掌握从日常操作到灾难恢复的全套技能。下一节我们将深入软件管理,揭秘YUM/APT的底层逻辑与私有仓库搭建!

    相关推荐

    查看台式电脑ip地址(查询台式电脑ip地址)
    查看台式电脑ip地址(查询台式电脑ip地址)

    如何查看主机名和IP地址:右击我的电脑-属性-网络标识(win2000)/计算机名(winxp)-完整的计算机名称后面的就是你的主机名.右击网上邻居-,属性-右击本地连接-属性-双击INTERNET协议(tcp/ip)就可以看到自己的I...

    2025-12-15 19:03 off999

    windows7 ultimate(windows7ultimate无法启动)

    32位的。1、在下载操作系统镜像的时候,带有x86标识的一般是32位系统,指的是CPU地址总线是32位、fetch、decode解压指令时也按32位字长来进行。x64一般表示系统为64位。2、x86是...

    雨林系统u盘安装步骤(雨林重装系统)

    如果是ISO镜像那就刻盘安装,如果不想刻盘,就硬盘安装。问题又来了,大部分的都是GHOST的系统,还有就是纯安装版的。我只说一下GHOST的,先把ISO文件给解压了,然后里边会有占主要空间大小的.GH...

    0xc000021a手动修复(修复0xc0000225)
    0xc000021a手动修复(修复0xc0000225)

    出现这样的问题很常见,用以下方法及解决方案就可以解决1、错误代码0xc000021a表示用户模式子系统有所损坏。一般按照蓝屏提示重启系统,即可正常运行。2、如果重启没能解决,则建议通过“最后一次正确的配置”方式启动系统。3、如果系统文件被破...

    2025-12-15 17:51 off999

    windows7网络驱动(win7网络驱动在哪个文件夹)
    windows7网络驱动(win7网络驱动在哪个文件夹)

    1.Networkcarddriver。2.右键我的电脑,点击“属性”,选择左侧“设备管理器”3.点击“网络适配器”,如果方框内没有驱动,请下载驱动精灵安装网卡驱动。在Windows7操作系统中,网络驱动程序的名称通常以网络适配器的品...

    2025-12-15 17:03 off999

    diskgenius的功能介绍(diskgenius是什么)

    先打开DiskGenius(如果系统打不开了,可以在PE下运行),在弹出分区工具Diskgenius工具中,依次点击“硬盘——重建主引导记录(MBR)”选项,无需理会弹出的提示窗口,直接按下“是”即可...

    网速快但是打开网页慢(网速快但是打开网页慢怎么回事)

    原因有很多,有可能是路由器的原因,也有可能是其他原因,总的来说,网速慢的常见原因有以下几种:1.wifi被人蹭网,别人占用了带宽或者给你限速了,可以登录路由器管理页面查看连接的设备数。2.路由器性能...

    windowsxp系统还能用吗(xp系统还能不能用)

    xp系统还能用。但是微软不再为xp系统提供系统更新补丁程序,并且只能适用于以前的老电脑,使用新电脑以及配置高的用户还是选择win7及win10还有后续推出的win11更好。WindowsXP系统已经...

    自己组装电脑好还是买整机好

    自己组装电脑的优点是:1.可以根据自己的需求选择每个部件,比如选择更好的显卡、CPU等,从而获得更强的性能。2.自己组装电脑可以更好地了解电脑,如了解和解决问题。3.DIY电脑可以根据需要升级电...

    笔记本怎么设置密码锁屏(怎么设置笔记本的锁屏密码)

    1.首先在电脑桌面上打开“开始菜单”,在弹出的界面里找到“齿轮”图标,点击进入“设置”。2.进入“设置”以后,在弹出的界面里找到“帐户”。3.点击进入“帐户”选项,这里需要解释一下,任何版本的Wind...

    电脑防火墙关闭有什么影响(电脑防火墙关闭有危害吗)

    关闭Windows防火墙会导致一些程序能够自由联网,不经过用户允许连接网络。因此,一般情况下建议用户启动Windows防火墙。关闭了防火墙,当用户在浏览电脑时,网页病毒可以轻松感染用户的电脑。关闭了防...

    u启宝重装系统(u启宝装系统教程)

    1、将下载好的ghostwin7系统镜像文件拷贝到u盘内,重启电脑,在看到开机画面时按下相应的启动快捷键(大家可以到u启动官网查找相应的快捷键)即可进入u启动的主菜单界面,随后选择usb选项并按回车...

    win7servicepack1怎么安装(win7安装server服务)

    整合了SP1补丁包的Windows7旗舰版。servicepack1除了集成之前发布的Win7补丁外,还增加了一些新功能(比如对一些新硬件的支持),属于微软官方推荐的服务包。windows7...

    wifi主人能看到浏览内容吗(wifi主人能看到浏览内容吗无痕浏览吗)

    通常情况下,WIFI管理者是看不到别人在看什么的。在路由器界面,最多看见手机的MAC地址,手机的型号,流量使用情况。其他的是看不到的。如果有些人借助软件,是可以看见你在浏览什么网站,如果网站的内容是明...

    小米安装包下载(小米刷机包下载官方)
    • 小米安装包下载(小米刷机包下载官方)
    • 小米安装包下载(小米刷机包下载官方)
    • 小米安装包下载(小米刷机包下载官方)
    • 小米安装包下载(小米刷机包下载官方)

    取消回复欢迎 发表评论: