Linux权限理解
发布时间 - 2025-07-21 00:00:00 点击率:次本文主要介绍linux系统中的权限管理和用户切换机制。权限是限制用户操作的关键,理解和正确使用权限有助于维护系统安全。
前言
本节主要讲解Linux的权限管理。权限是控制用户行为的机制,例如,你可以在力扣上刷题,但不能听音乐,这是由平台的权限设置决定的。如果你是VIP用户,你可以在QQ音乐上听任何音乐,而普通用户只能听非VIP的音乐。
概述
Linux系统中有两种类型的用户:
- 超级用户(root):可以在Linux系统中执行任何操作,不受限制。
- 普通用户:在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权限管理
文件访问者分为:
- 文件和目录的所有者(u - User)
- 文件和目录的所有者所在组的用户(g - Group)
- 其他用户(o - Others)
文件属性可以通过ls -l命令查看,属性从第二个字母开始,三个为一组。
权限字符表示:
-
r:可读 -
w:可写 -
x:可执行 -
-:不具备该权限
权限值:
- 读(r/4):对文件可读取内容,对目录可浏览信息。
- 写(w/2):对文件可修改内容,对目录可删除或移动文件。
- 执行(x/1):对文件可执行,对目录可进入。
文件权限值表示方法:
- 字符表示法:
- 8进制数值表示法:
文件类型:
-
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)
格式:
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
# qq
# 会员
# 区别
# 递归
# 接口
# 普通用户
# 切换到
# 掩码
# 可执行
# 可以通过
# 你可以
# 该文件
# 目录中
# 的是
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
php结合redis实现高并发下的抢购、秒杀功能的实例
如何在云主机上快速搭建网站?
如何获取PHP WAP自助建站系统源码?
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
Laravel如何使用Collections进行数据处理?(实用方法示例)
Laravel如何实现全文搜索功能?(Scout和Algolia示例)
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
桂林网站制作公司有哪些,桂林马拉松怎么报名?
如何在万网开始建站?分步指南解析
Laravel的.env文件有什么用_Laravel环境变量配置与管理详解
Laravel如何配置任务调度?(Cron Job示例)
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】
如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环
网站制作价目表怎么做,珍爱网婚介费用多少?
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
canvas 画布在主流浏览器中的尺寸限制详细介绍
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
PythonWeb开发入门教程_Flask快速构建Web应用
Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
Python数据仓库与ETL构建实战_Airflow调度流程详解
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
英语简历制作免费网站推荐,如何将简历翻译成英文?
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
网页设计与网站制作内容,怎样注册网站?
如何快速搭建安全的FTP站点?
详解jQuery停止动画——stop()方法的使用
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
javascript读取文本节点方法小结
Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】
JavaScript如何实现错误处理_try...catch如何捕获异常?
如何实现建站之星域名转发设置?
Laravel如何使用Gate和Policy进行授权?(权限控制)
如何快速搭建支持数据库操作的智能建站平台?
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
详解CentOS6.5 安装 MySQL5.1.71的方法
Laravel如何处理表单验证?(Requests代码示例)
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
EditPlus中的正则表达式实战(5)
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置


t.txt