本文主要介绍linux系统中的权限管理和用户切换机制。权限是限制用户操作的关键,理解和正确使用权限有助于维护系统安全。

前言
本节主要讲解Linux的权限管理。权限是控制用户行为的机制,例如,你可以在力扣上刷题,但不能听音乐,这是由平台的权限设置决定的。如果你是VIP用户,你可以在QQ音乐上听任何音乐,而普通用户只能听非VIP的音乐。
概述
Linux系统中有两种类型的用户:
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。
用户切换
用户之间可以通过以下命令进行切换:
su [用户名]
从root用户切换到普通用户user,使用su user。从普通用户user切换到root用户,使用su或su root,此时需要输入root用户的密码。
示例:超级用户切换到普通用户
从root用户切换到普通用户gwj:
[root@iZf8zhv7mi2thjdxsptkb8Z ~]# su gwj [gwj@iZf8zhv7mi2thjdxsptkb8Z root]$ whoami gwj [gwj@iZf8zhv7mi2thjdxsptkb8Z root]$

示例:普通用户切换到超级用户
从普通用户gwj切换到root用户,直接使用su,并输入root用户的密码:
[gwj@iZf8zhv7mi2thjdxsptkb8Z root]$ su Password: [root@iZf8zhv7mi2thjdxsptkb8Z ~]# whoami root [root@iZf8zhv7mi2thjdxsptkb8Z ~]#

另一种切换方式
除了su命令,还可以使用su -命令。两者的区别在于,前者仅切换用户身份,不改变当前路径,而后者会切换到root用户的家目录。
使用sudo提升权限
普通用户可以通过sudo + 命令来临时提升权限,输入的是普通用户的密码:
[gwj@iZf8zhv7mi2thjdxsptkb8Z root]$ whoami gwj [gwj@iZf8zhv7mi2thjdxsptkb8Z root]$ sudo whoami [sudo] password for gwj: gwj is not in the sudoers file. This incident will be reported. [gwj@iZf8zhv7mi2thjdxsptkb8Z root]$

初次使用sudo时会有如下提示:

Linux权限的理解
权限是角色与事物属性的结合。例如,某人有QQ音乐的会员身份,可以听会员专享的音乐,这是因为他有会员身份,而不是因为他叫什么名字。
因此,权限 = 角色 + 事物的属性。
Linux权限管理
文件访问者分为:
文件属性可以通过ls -l命令查看,属性从第二个字母开始,三个为一组。

权限字符表示:
r:可读w:可写x:可执行-:不具备该权限
权限值:
文件权限值表示方法:


文件类型:
d:文件夹-:普通文件l:软链接b:块设备文件p:管道文件c:字符设备文件s:套接口文件在Linux中讨论权限时,首先要确定当前用户是谁,然后查看文件的拥有者和所属组,判断当前用户的身份,最后查看该身份下的权限。权限与身份和文件属性相关。
权限修改
使用chmod命令可以设置文件的访问权限:
chmod [参数] 权限 文件名
R - 递归修改目录文件的权限只有文件的拥有者和root用户可以改变文件的权限。
示例:对text.txt文件进行权限修改
初始权限:
-rw-rw-r-- 1 gwj gwj 0 Dec 10 15:02 text.txt

给拥有者添加执行权限:
chmod u+x text.txt

从所属组删除写权限:
chmod g-w text.txt

从拥有者删除执行权限,给所属组添加写权限,给其他人添加写和执行权限:
chmod u-x,g+w,o+w,o+x text.txt

给所有用户添加读、写、执行权限:
chmod a+rwx text.txt

使用8进制数值修改权限:
chmod 777 text.txt


chown命令
用于修改文件的拥有者:
chown [参数] 用户名 文件名
示例:
chown nanqiao text.txt

同时修改文件的拥有者和所属组:
chown gwj:nanqiao text.txt

chgrp命令
用于修改文件或目录的所属组:
chgrp [参数] 用户组名 文件名
-R - 递归修改文件或目录的所属组示例:
chgrp gwj text.txt

umask命令
用于查看或修改文件掩码:
0666
0777
实际创建的文件和目录权限会受到umask的影响:
格式:
umask 权限值
超级用户默认掩码值为0022,普通用户默认为0002。
普通用户创建的文件默认权限为664,目录为775。

通过umask查看掩码:

掩码会影响初始权限,凡是在权限掩码中出现的权限,不会出现在最终文件权限中:
666 -> 110 110 110 002 -> 000 000 010 ~umask: 111 111 101 666 -> 110 110 110 111 111 101 按位与& 110 110 100 -> 664
file命令
用于辨识文件类型:
file [选项] 文件或目录...
-c:详细显示指令执行过程-z:尝试解读压缩文件的内容使用sudo分配权限
/etc/sudoers文件分配权限:chmod 740 /etc/sudoers vi /etc/sudoers
格式:接受权限的用户登陆的主机 =(执行命令的用户) 命令
sudo调用授权的命令:sudo –u 用户名 命令
目录权限
注意:只要用户具有目录的写权限,就可以删除目录中的文件,无论是否有该文件的写权限。因此引入了粘滞位的概念。
粘滞位
当一个目录被设置为“粘滞位”(用chmod +t),则该目录下的文件只能由:
以上就是Linux权限理解的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号