简介
在 Linux
的学习过程中,文件权限是一个很重要的概念,毕竟 Linux
中的各种操作都离不开权限的支持。
这篇博客算是对 Linux
文件权限学习的一个简单总结。
用户与用户组
Linux
的文件权限是和 用户与用户组 密切相关的一个概念,对于一个文件来说,用户可以分为三类:
文件的 拥有者 -
user
文件的拥有者所在 用户组 的其他成员 -
group
除 拥有者 和 用户组 成员以外的其他用户 -
others
文件权限是相对于这三类用户而言的,不同身份的用户可以具有不同的权限。
文件属性
使用命令 ls -l
可以得到文件的详细信息,比如:
drwxr-xr-x 5 root root 4096 Sep 7 19:52 dotemacs drwxr-xr-x 6 root root 4096 Sep 3 22:34 dotfiles drwxr-xr-x 9 root root 4096 Sep 11 10:19 emacs-kit
我们可以把每一条信息分为 8
个部分,比如上面第一条信息可以分为:
文件类型 | 权限信息 | 连结数 | 拥有者 | 用户组 | 文件容量 | 修改日期 | 文件名 |
---|---|---|---|---|---|---|---|
d |
rwxr-xr-x |
5 |
root |
root |
4096 |
Sep 7 19:52 |
dotemacs |
这里主要了解 文件类型 和 权限信息, 对其他部分有兴趣的可以自行 Google
.
文件类型
Linux
中文件可以分为 5
个类型, ls -l
输出的每条信息中的 第一个字符 就用于表示文件类型。
各个文件类型及其字符表示为:
表示字符 | 文件类型 |
---|---|
d |
目录 |
- |
文件 |
l |
符号链接等 |
b |
可供储存的接口设备 |
c |
串行端口设备,如键盘、鼠标等 |
权限信息
通过 用户与用户组 概念可以了解到权限是相对于三类用户而言的,因此 ls -l
显示的权限信息也分为三组。
每个文件的 权限信息 由 9
个字符组成,分为三组,分别对应 拥有者, 用户组, 其他人 拥有的权限。
对于权限信息 rwxr-xr-x
来说, 拥有者 的权限为 rwx
, 用户组 和 其他人 的权限为 r-x
.
每组权限分为: 读权限, 写权限 和 执行权限, 分别由字符 r
, w
, x
表示。如果不具有相应的权限,就使用字符 -
表示。
因此,权限信息 rwxr-xr-x
可以理解为: 拥有者 具有 读, 写 和 执行 权限,而 用户组 和 其他人 就只有 读 和 执行 的权限。
修改文件拥有者和所属用户组
命令 chown
和 chgrp
可以用于修改文件拥有者和所属用户组,使用方式也很简单:
# 修改文件拥有者 $ chown [-R] 账号名称 文件或目录 $ chown [-R] 账号名称:组名 文件或目录 # 修改文件所属用户组 $ chgrp [-R] 用户组名称 文件或目录
参数 -R
进行递归的持续变更,即连同次目录下的所有文件都变更。
修改文件权限
命令 chmod
用于修改文件的权限,并提供了两种修改文件权限的方式。
数字类型改变文件权限
我们可以用数字来代表各个权限,各个权限对应的数字为:
r:4 w:2 x:1
每种身份各自的三个权限分数是需要累加的,例如当权限为 rwxrwx---
时,对应的分数为:
user = rwx = 4+2+1 = 7 group = rwx = 4+2+1 = 7 others = --- = 0+0+0 = 0
得到的文件权限数字也就为 770
, 修改权限时就可以使用这个数字完成:
$ chmod [-R] 770 文件或目录
很明显,这样修改文件权限是很麻烦的,因此 chmod
提供了另一种更好用的方式来修改文件权限。
符号类型改变文件权限
符号类型改变文件权限需要遵循一定的语法规则,分别需要了解的有 身份表示符, 操作表示符 和 权限表示符.
身份表示符:
表示符 | 代表的身份 |
---|---|
u |
文件的拥有者 |
g |
文件的拥有者所在用户组 |
o |
其他人 |
a |
所有用户 |
操作表示符:
表示符 | 代表的操作 |
---|---|
+ |
添加权限 |
- |
去除权限 |
= |
设定权限 |
权限表示符 就是 r
, w
和 x
.
从表示符的组成大概也可以猜到怎样修改文件权限了,比如说下面的这条指令让拥有者具有所有权限,而为用户组和其他人添加执行权限:
chmod u=rwx,go+x .vimrc
需要注意的是: u=rwx,go+x
之间没有空格。
权限的作用
同一个权限对于 文件 和 目录 来说,含义是不一样的,这里来了解一下。
权限 | 文件 | 目录 |
---|---|---|
r |
可以读取文件内容 | 可以读取目录结构列表 |
w |
可以编辑修改文件内容 | 可以改动目录结构列表 |
x |
可以被系统执行 | 用户可以进入目录 (cd ) |
这里需要注意的一个权限是: 可以改动目录结构列表, 这意味着可以:
建立新的文件与目录
删除已经存在的文件与目录
将已存在的文件或目录进行更名
搬移该目录内的文件、目录位置
所以 w
这个权限还是慎重使用好了。
更多Linux文章,请访问Linux教程栏目进行学习!
以上是Linux 文件权限的详细内容。更多信息请关注PHP中文网其他相关文章!

linux设备节点是应用程序和设备驱动程序沟通的一个桥梁;设备节点被创建在“/dev”,是连接内核与用户层的枢纽,相当于硬盘的inode一样的东西,记录了硬件设备的位置和信息。设备节点使用户可以与内核进行硬件的沟通,读写设备以及其他的操作。

区别:1、open是UNIX系统调用函数,而fopen是ANSIC标准中的C语言库函数;2、open的移植性没fopen好;3、fopen只能操纵普通正规文件,而open可以操作普通文件、网络套接字等;4、open无缓冲,fopen有缓冲。

在linux中,可以利用“rpm -qa pcre”命令判断pcre是否安装;rpm命令专门用于管理各项套件,使用该命令后,若结果中出现pcre的版本信息,则表示pcre已经安装,若没有出现版本信息,则表示没有安装pcre。

在linux中,eof是自定义终止符,是“END Of File”的缩写;因为是自定义的终止符,所以eof就不是固定的,可以随意的设置别名,linux中按“ctrl+d”就代表eof,eof一般会配合cat命令用于多行文本输出,指文件末尾。

端口映射又称端口转发,是指将外部主机的IP地址的端口映射到Intranet中的一台计算机,当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上;可以通过使用动态或固定的公共网络IP路由ADSL宽带路由器来实现。

手机远程linux工具有:1、JuiceSSH,是一款功能强大的安卓SSH客户端应用,可直接对linux服务进行管理;2、Termius,可以利用手机来连接Linux服务器;3、Termux,一个强大的远程终端工具;4、向日葵远程控制等等。

linux查询mac地址的方法:1、打开系统,在桌面中点击鼠标右键,选择“打开终端”;2、在终端中,执行“ifconfig”命令,查看输出结果,在输出信息第四行中紧跟“ether”单词后的字符串就是mac地址。

linux中,lsb是linux标准基础的意思,是“Linux Standards Base”的缩写,是linux标准化领域中的标准;lsb制定了应用程序与运行环境之间的二进制接口,保证了linux发行版与linux应用程序之间的良好结合。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver Mac版
视觉化网页开发工具

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Dreamweaver CS6
视觉化网页开发工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版