Linux文件权限详解
1:更改文件的权限——实际遇到
ls -al 查看当前文件夹中的文件的权限
文件类型与权限 | 链接占用的节点(i-node) | 文件所有者 | 文件所有者的用户组 | 文件大小 | 文件的创建时间/最近修改时间 | 文件名称 |
---|---|---|---|---|---|---|
dr-xr-x---. | 8 | root | root | 4096 | Jul 27 10:28 | . |
dr-xr-xr-x. | 27 | root | root | 4096 | Jul 27 10:28 | .. |
-rw-------. | 1 | root | root | 1 | Jul 27 10:28 | anaconda-ks.cfg |
lrwxrwxrwx. | 1 | root | root | 1 | Jul 27 10:28 | /dev/null |
chown 用户身份:用户组 文件名
chown root:root 文件名
2:权限定义——网上内容
linux每一个用户都属于一个组,不能独立于组外。linux的文件权限需要定义三个实体对它的权限
- 文件所有者
- 文件所在组
- 其他组
所有者
一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者
可以使用chown【change owner】 用户名 文件名来修改文件的所有者,例如更改error.log的所有者为enoch
复制chown enoch error.log #更改error.log的所有者为enoch
chown enoch:home error.log #更改error.log的所有者和用户组为enoch与home
chown .home error.log #更改error.log的用户组为home
#在所有者和用户组中使用“.”也可以,但是由于很多用户喜欢使用小数点,可能造成系统误判,所以建议使用":"
所在组
当用户创建了一个文件后,这个文件的所在组就是该用户所在的用户组
可以使用chgrp【change group】来改变文件的所在组
复制chgrp home error.log #修改文件的所在组为home
其他组
除开所在组之外的其他组均为其他组
3:权限说明——网上内容
当我们使用命令 ls -l 时候就会显示出改文件或者文件夹相对应的权限
drwx------ 2 www www 4096 May 5 19:35 www
drwxrwxrwx 2 root root 4096 May 5 16:51 wwwlogs
drwxr-xr-x 3 root root 4096 Jul 4 20:45 wwwroot
第一列规定了文件权限说明,共由十个字符分成四个部分,用www目录来说
d | rwx | --- | --- |
---|---|---|---|
1 | 234 | 567 | 890 |
1:代表这个文件是目录还是文件名其中d代表目录,如果是文件则为-,更多的文件信息如下
1 | d 目录文件。 |
2 | l 符号链接(指向另一个文件,类似于瘟下的快捷方式)。 |
3 | s 套接字文件。 |
4 | b 块设备文件,二进制文件。 |
5 | c 字符设备文件。 |
6 | p 命名管道文件。 |
234:文件所有者的权限,rwx及为可读可写可执行
r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。
w(Write,写入):对文件而言,具有新增,修改,删除文件内容的权限(不包含删除该文件);对目录来说,具有新建,删除,修改,移动目录内文件的权限(不论该文件的权限为何都可以进行删除操作)。
x(Execute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限(能否使用cd命令进入该目录)。
567:文件所有组的权限,---代表没有任何权限
890:除开所有者与所有组以外用户的权限,此处没有任何权限
:4:修改权限——网上内容
修改权限的命令是chmod,而改变权限的方式分为两种
1.数字改变权限法
Linux的文件基本权限只有九个,分别是onwer,group,other三种身份,所以我们可以用数字来代表权限,其中
r : 4
w : 2
x : 1
每种身份设置权限为数字的累加,比如将error.log文件设置成所有人都有RWX权限,则
复制chmod 777 error.log
因为[-rwxrwxrwx]实际上是[4+2+1][4+2+1][4+2+1]也就是777了。如果我们将权限变为[-rwxr-xr--]则[4+2+1][4+0+1][4+0+0]即为754
2.符号改变法
符号改变法实际上就是对不同实体设置权限,其中我们只要懂的三个部分的含义就可以
举几个例子来说明吧,设置用户对error.log有rwx权限,所在组和其他组有rx权限。
chmod u=rwx,go=rx error.log
设置用户对error.log有rwx权限,所在组有rx权限,其他组有r权限
chmod u=rwx,g=rx,o=r error.log
出去所有用户的可执行权限
chmod a-x error.log
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~