目录
1.Linux权限的概念
Linux权限管理
1.文件访问者的分类(人的属性)
2.文件类型和访问权限(事物属性)
2.1文件类型
2.2基本权限
2.3文件权限值的表示方法
2.4文件访问权限的相关设置方法
file指令
目录的权限
默认权限
掩码
粘滞位
关于权限的总结
1.Linux权限的概念
Linux下有两种用户:超级用户(root)、普通用户。
说明:
超级用户:可以在Linux下做任何事情,不受限制。
普通用户:在Linux下做有限的事情,受到限制。
超级用户的命令提示符是”#“,普通用户的命令提示符是“$"
su [用户名]——切换用户
例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则
使用 su root(root可以省略),此时系统会提示输入root用户的口令。
Linux权限管理
1.文件访问者的分类(人的属性)
文件和目录的所有者——u——user
文件和目录的所有者所在的组的用户——g——group
其他用户——o——other
2.文件类型和访问权限(事物属性)
2.1文件类型
d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件
2.2基本权限
1.读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
2.写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
3.执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限 iv.
“—”表示不具有该项权限
2.3文件权限值的表示方法
1.字符表示法
Linux表示 | 说明 | Linux表示 | 说明 |
r-- | 只读 | -w- | 只写 |
--x | 只执行 | rw- | 可读可写 |
-wx | 可写可执行 | r-x | 可读可执行 |
rwx | 可读可写可执行 | --- | 无权限 |
2.8进制数值表示法
权限符号(读写执行) | 八进制 | 二进制 |
r | 4 | 100 |
w | 2 | 010 |
x | 1 | 001 |
rw | 6 | 110 |
rx | 5 | 101 |
wx | 3 | 011 |
rwx | 7 | 111 |
--- | 0 | 000 |
2.4文件访问权限的相关设置方法
1.chmod——设置文件的访问权限——chmod [参数] 权限 文件名
常用选项:
R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限
① 用户表示符+/-=权限字符
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户
例子:
# chmod u+w /home/abc.txt
# chmod o-x /home/abc.txt
2.三位8进制数字
# chmod 664 /home/abc.txt
# chmod 640 /home/abc.txt
3.chown
修改文件的拥有者
chown [参数] 用户名 文件名
4.)chgrp
修改文件或目录的所属组
chgrp [参数] 用户组名 文件名
-R 递归修改文件或目录的所属组
file指令
辨识文件类型
file [选项] 文件或目录
常用选项:
-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-z 尝试去解读压缩文件的内容。
目录的权限
可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.
可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容
可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件
默认权限
问题:为什么我们创建的普通文件(不包括可执行),默认劝降是从664开始的?
为什么我们创建的目录的默认权限是从775开始的?
ps:不同操作系统的默认权限可能不同,我这里选择的是centos7.6的系统,默认是(664 775)
解答:
掩码
umask
查看或修改文件掩码
新建文件起始权限=0666
新建目录起始权限=0777
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时
候还要受到 umask的影响。
假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask
说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为
0022,普通用 户默认为0002。
粘滞位
背景:在使用Linux的时候,未来可能有一些共享目录,被所有的普通用户共享,用来保存普通用户产生的临时数据。
共享的普通目录通常都是root提供的
文件被所有的人共享的时候,受权限约束,但是拦不住别人删我的文件
为了让大家共享文件,且不让其他人随便删除别人的文件——提出粘滞位的概念。
ps:粘滞位只能给目录添加,并且是共享目录添加
怎么添加呢?
chmod +t 目录 名称
ps:
当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由
1.超级管理员删除
2.该文件的所有者删除
3.该目录的所有者删除
关于权限的总结
目权录的可执行限是表示你可否在目录下执行命令。
如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限
(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)
而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录
的读权限。所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。