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  编辑文件。格式为  接受权限的用户登陆的主机 = (执行命令的用户) 命令  。
 
2. 使用sudo调用授权的命令 :格式为  $ sudo -u 用户名 命令  ,例如  $ sudo -u root /usr/sbin/useradd u2  以root身份执行添加用户  u2  的命令。


五、粘滞位
 


当一个目录被设置为“粘滞位”(用  chmod +t  ) ,则该目录下的文件只能由:
 
- 超级管理员删除;
 
- 该目录的所有者删除;
 
- 该文件的所有者删除。
 
这解决了用户对目录有写权限就可随意删除目录内文件(即使无文件写权限)的问题。例如在  /home  目录设置粘滞位后,普通用户就不能随意删除其他用户在该目录下的文件。


六、目录的权限
 


(一)可执行权限
 


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


(二)可读权限
 


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


(三)可写权限
 


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


七、总结
 


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

猜你喜欢

转载自blog.csdn.net/nplplus/article/details/147095961
今日推荐