Linux权限管理:从入门到实践

目录

引言

​编辑一、Linux用户类型

二、文件访问者分类

三、文件类型和访问权限

(一)文件类型

(二)基本权限

四、文件访问权限设置方法

(一)chmod命令

(二)chown命令

(三)chgrp命令​编辑

(四)umask命令

(五)file指令

(六)使用sudo分配权限

五、粘滞位

六、目录的权限

(一)可执行权限

(二)可读权限

(三)可写权限

七、总结


引言

在Linux系统中,权限管理是保障系统安全和数据完整性的重要机制。合理设置文件和目录的权限,能有效防止非法访问和误操作。本文将详细介绍Linux权限管理相关知识,帮助大家深入理解并熟练运用。

一、Linux用户类型

Linux系统中有两种主要用户类型:

- 超级用户(root)(为所欲为):拥有至高无上的权限,可以在系统中做任何事情,不受限制。其命令提示符为"#" 。例如,root用户可以随意修改系统配置文件、删除重要系统目录等操作。但也正因如此,使用root用户操作时需格外谨慎,一旦误操作可能导致系统故障。

**- 普通用户:**权限有限,只能在允许的范围内进行操作,命令提示符为"$" 。普通用户可以对自己的文件和目录进行操作,如创建、删除、修改等,但对系统关键部分则没有权限访问。

切换用户使用 su [用户名] 命令 。从root切换到普通用户直接 su 用户名 ;普通用户切换到root用户,使用 su root (root可省略),此时需输入root用户密码。

root变为普通用户直接su[用户名]

二、文件访问者分类

文件访问者分为三类:

  • 文件所有者(u - User):创建文件的用户,对文件拥有较高控制权。比如用户创建了一个文档,该用户就是文件所有者,可决定文件是否允许他人读取、修改等。

  • 文件所有者所在组的用户(g - Group):同一用户组内的成员,在权限设置下可对文件进行相应操作。例如一个项目组的成员在同一用户组,组内成员对项目相关文件根据权限设置有不同操作权限。

  • 其他用户(o - Others):除上述两类之外的用户,通常权限相对较低。

三、文件类型和访问权限

(一)文件类型

**- d:文件夹,用于组织和存储文件及其他文件夹。

  • -:普通文件,如文本文件、二进制程序文件等。**

  • l:软链接,类似Windows的快捷方式,指向其他文件或目录。

  • b:块设备文件,像硬盘、光驱等存储设备。

  • p:管道文件,用于进程间通信。

  • c:字符设备文件,如屏幕等串口设备。

  • s:套接口文件,用于网络通信。

(二)基本权限

- 读(r/4):对文件可读取内容;对目录可浏览信息。比如对一个文本文件有读权限,就能查看文件内容;对目录有读权限,可使用 ls 命令查看目录下文件列表。

- 写(w/2):对文件可修改内容;对目录可删除、移动目录内文件。例如对文件有写权限,就能编辑文件;对目录有写权限,可删除目录内文件。

- 执行(x/1):对文件可执行;对目录可进入。可执行文件(如脚本文件、二进制程序)有执行权限才能运行;对目录有执行权限才能使用 cd 命令进入。

- "-":表示不具有该项权限。

权限表示形式有字符表示和八进制数值表示 。字符表示如 rwx 表示可读可写可执行, r-- 表示只读等;八进制数值表示中, r 对应4, w 对应2, x 对应1 ,组合起来如 rwx 是7(4 + 2 + 1 ), rw- 是6(4 + 2 )等。

四、文件访问权限设置方法

(一)chmod命令

功能是**设置文件的访问权限,**格式为 chmod [参数] 权限 文件名 。

  • 常用选项: R 可递归修改目录文件权限。

  • 权限值格式:

  • 用户表示符+/-/=权限字符 : + 增加权限, - 取消权限, = 赋予权限。例如chmod u+w /home/abc.txt 给文件所有者增加写权限; chmod o-x /home/abc.txt 取消其他用户的执行权限。

  • 三位8进制数字 :如 chmod 664 /home/abc.txt ,第一个6表示所有者权限(4读 + 2写 ),第二个6表示所属组权限(4读 + 2写 ),4表示其他用户权限(4读 ) 。

注意:只有文件所有者和root可以改变文件权限。

(二)chown命令

功能是修改文件的拥有者,格式为 chown [参数] 用户名 文件名 。例如 chown user1 f1 将文件 f1 的所有者改为 user1 ; chown -R user1 filegroup1 递归修改 filegroup1 目录及其下所有文件的所有者为 user1 。

(三)chgrp命令

用于修改文件或目录的所属组,格式是 chgrp [参数] 用户组名 文件名 。常用选项 -R 递归修改。比如 chgrp users /abc/f2 将文件 /abc/f2 的所属组改为 users 。

(四)umask命令


用于查看或修改文件掩码。新建文件默认权限是0666,新建目录默认权限是0777,但实际创建的文件和目录权限会受umask影响,实际权限是 mask & ~umask 。格式为 umask 权限值 ,如 umask 755 设置掩码, umask 可查看当前掩码 。超级用户默认掩码值为0022,普通用户默认为0002 。

(五)file指令

功能是辨识文件类型,语法为 file [选项] 文件或目录... 。

常用选项 -c 详细显示指令执行过程, -z 尝试去解读压缩文件内容。

(六)使用sudo分配权限

  1. 修改/etc/sudoers文件分配文件 :先使用 chmod 740 /etc/sudoers 修改文件权限,再用 vi /etc/sudoers 编辑文件。格式为 接受权限的用户登陆的主机 = (执行命令的用户) 命令 。
  1. 使用sudo调用授权的命令 :格式为 sudo -u 用户名 命令 ,例如 ++** sudo -u root /usr/sbin/useradd u2 以root身份执行添加用户 u2 的命令。**++

五、粘滞位

当一个目录被设置为"粘滞位"(用chmod +t ) ,则该目录下的文件只能由:

  • 超级管理员删除;

  • 该目录的所有者删除;

  • 该文件的所有者删除。

这解决了用户对目录有写权限就可随意删除目录内文件(即使无文件写权限)的问题。例如在 /home 目录设置粘滞位后,普通用户就不能随意删除其他用户在该目录下的文件。

六、目录的权限

(一)可执行权限

目录没有可执行权限,就无法使用 cd 命令进入目录。

(二)可读权限

若目录没有可读权限,无法用 ls 命令查看目录中的文件内容。

(三)可写权限

若目录没有可写权限,无法在目录中创建文件,也无法删除目录中的文件。

七、总结

Linux权限管理看似复杂,但只要理解用户类型、文件访问者分类、文件类型和权限设置方法等核心要点,就能灵活运用。在实际操作中,要注意权限设置的合理性,避免因权限设置不当导致安全问题或操作受限。尤其是涉及系统关键文件和目录时,更要谨慎操作,必要时做好备份,确保系统稳定和数据安全。

希望通过本文,大家能对Linux权限管理有更深入的认识,在日常使用和工作中能更好地管理系统资源。

相关推荐
虾..16 小时前
Linux 简单日志程序
linux·运维·算法
小李独爱秋16 小时前
计算机网络经典问题透视:在浏览器中应当有几个可选解释程序?
服务器·网络·网络协议·tcp/ip·计算机网络
fandroid16 小时前
树莓派通过docker安装kodbox可道云
运维·docker·容器
码农小白猿17 小时前
IACheck优化电梯定期检验报告:自动化术语审核提升合规性与效率
大数据·运维·人工智能·ai·自动化·iacheck
huoxingwen17 小时前
Ubuntu 22.04 上 VMware Workstation 点击虚拟机窗口就消失的解决历程
linux·运维·ubuntu
姚青&17 小时前
Linux 常用命令之基本命令
linux·运维·服务器
一路往蓝-Anbo17 小时前
【第05期】数据的微观世界 (五) —— 浮点数 vs 定点数:MCU的数学课
linux·stm32·单片机·嵌入式硬件·物联网
G_H_S_3_17 小时前
【网络运维】企业级监控平台Zabbix:部署与实践指南
linux·运维·网络·zabbix
小周学学学17 小时前
Vcenter Auto Deploy安装与使用
linux·运维·服务器
微爱帮监所写信寄信18 小时前
微爱帮监狱写信寄信工具服务器【Linux篇章】再续:TCP协议——用技术隐喻重构网络世界的底层逻辑
linux·服务器·开发语言·网络·网络协议·小程序·监狱寄信