@[TOC]
前言
对于Linux
权限概念
的理解:
广泛的权限是什么?我们不能让每个人权力都无限扩大,所以权限是用来限制人的。权限就是用户的权力的限制范围。即用一个帐户登录后,有些功能可以使用,有些功能无法使用,这就是管理员对其设置的权限,只有符合权限的人才可以使用对应的功能。
简单说,权限就是:一件事情是否允许被“谁”做
在Linux下有两种用户:超级用户(root)、普通用户:
- 超级用户(root):可以在linux系统下做几乎任何事情,不受限制
- 普通用户::在linux下做有限的事情
- 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”
如何切换用户?
命令: su[用户名]
如,要从root用户切换到普通用户 zhangsan,则使用 su zhangsan。 要从普通用户user切换到root用户则使用 su root(这里root可以省略),此时系统会提示输入root用户的口令。
Linux中的权限管理
我们可以这样理解:对于权限的管理就有两部分,一是什么人,二是什么事物。规定某个人对某事物具有什么样的权限,这就是权限管理。
即: 权限 = 人 + 事物属性
而对人和事物属性,Linux又进行了细分:
文件访问者(人)
Linux中对访问者进行了三种分类:
- 文件的拥有者:u --- User
- 文件所属组: g---Group
其他用户 :o --- Others
文件类型和访问权限(事物属性)
文件类型表示
d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件三种基本权限
- 读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
- 写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
- 执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
- “—”表示不具有该项权限
文件权限值的表示方法
字符表示法:
8进制数值表示法:
实例参考
对于第一行 a.out 文件:
- "-" 指 普通文件
- "rwx" 指对文件所有者权限 读写执行
- "r-x" 指对文件所属用户组权限 读和执行
- "r-x" 指对其他用户权限 读和执行
- 第一个箭头指向 所属用户 第二个箭头指向 所属用户组
即我们谈Linux权限时,要提到所有者权限是什么,所属组权限是什么,其他用户权限什么,我是属于哪一方(拥有什么权限)。
文件访问权限的设置
我们要是想设置文件的权限,该怎么设置呢?Linux提供了相关命令:
- chmod (只有文件的拥有者和root才可以修改文件权限)
- 功能: 设置文件的访问权限
- 格式:chmod [参数] 权限 文件名
-
用户表示符+/-=权限字符
-
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限 -
用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户
- 实例参考
```chmod u+w /home/abc.txt //对文件拥有者增加写权限
chmod o-x /home/abc.txt // 对其他用户取消执行权限
// 三进制修改格式 chmod a=x /home/abc.txtchmod 664 /home/abc.txt
chmod 640 /home/abc.txt
对于目录的权限
目录的权限与文件略有不同
对于目录权限来说:
- 可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.(即是否可以进入目录中)
- 可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容. (即没有可读权限,不会显示目录中的文件内容)
- 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件
目录的可执行权限是表示你可否在目录下执行命令。如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)
而如果目录具有-x
权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读
权限,所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。
本节完