【Linux】权限基础知识
Linux权限:
A.Linux有两种用户:超级用户(root)以及普通用户。
1>超级用户:可以在Linux系统下做任何事情,不受限制。
2>普通用户:在linux下做有限的事情。
上图处于普通用户。
使用命令:su[用户名】可以切换用户。
例如:su root可以从普通用户切换至超级用户。如下图所示,并且切换超级用户时,系统会提示输入用户的密码。
同理从超级用户切换至普通用户如下图所示:
超级用户的命令提示符号为“#”,普通用户的命令提示符为“$”.
B.文件访问者的分类
1>文件和文件目录的所有者:u
2>文件和文件目录所有者所在的组的用户:g
3>其他用户:o
C.文件访问权限的种类
1>r(读):对于文件而言,具有读文件的权限,对目录而言,具有浏览目录的权限。
2>w(写):对文件而言,具有修改文件的权限,对目录而言,具有删除,移动目录的权限。
3>x(执行):execute对文件而言,具有执行文件的权限,对于目录而言,具有进入目录的权限。如果没有-x权限则无法对目录执行任何命令,甚至无法cd进入目录,即使目录仍然有-r读权限。而如果目录具有-x权限,但没有-r权限,则用户可以执行命令cd进入目录,但是由于目录没有读权限,所以在目录下即使可以执行ls命令,但是仍然没有全部读出目录下的文档。
4>"-"不具有该项权限。
D.权限的表示方法。
1>8进制数值表示方法
权限符号 | 8进制 | 2进制 |
r | 4 | 100 |
w | 2 | 010 |
x | 1 | 001 |
rw | 6 | 110 |
rx | 5 | 101 |
rwx | 7 | 111 |
--- | 0 | 000 |
wx | 3 | 011 |
2>字符表示方法
Linux表示 | 说明 | Linux表示 | 说明 |
r-- | 只读 | -w- | 仅可写 |
--x | 只可执行 | rw- | 可读可写 |
-wx | 可写可执行 | r-w | 可读可执行 |
rwx | 可读可写可执行 | --- | 无权限 |
E.权限的访问。
1>在当前目录输入ll(字母L小写)指令并执行,查看当前目录下所有你项目的权限。
如下图所示,在执行结果第一列显示即为某一项的可操作权限,这些操作权限其实是按照拥有者u、所属组g、其他o的权限顺序依次组合。
2>chmod可以设置文件的访问权限
chmod 用户表示符+/-权限字符 文件名
chmod 3位8进制数字 文件名
如上图所示 chmod u+x file:给file文件的u(拥有者)加上了x(可执行文件);
如上图所示: chmod 777 file~~ 赋予file~~用户可读可写可执行的权限,777三个八进制数字代表拥有者、拥有者同组、其他用户的权限。664则表示为rw- rw- r--,拥有者有可读可写的权限,拥有者所在组有可读可写权限,其他人有可读权限。
3>chown :修改文件的拥有者
格式: chown[参数] 用户名 文件名
修改文件当前的用户必须具有管理员root的权限。可以通过su命令切换到root用户,也可以通过sudo获得root的权限。
如上图将file的拥有者改为了root
4>chgrp 修改文件或者目录的所属组
格式:chgrp[参数] 用户组名文件名
修改文件当前的用户必须具有管理员root的权限。可以通过su命令切换到root用户,也可以通过sudo获得root的权限。
如上图将file的拥有者所属组改为了root
5>umask
查看或者修改文件掩码
新建文件夹默认权限=0666-权限掩码
新建目录默认权限=0777-权限掩码
格式:umask 权限值
超级用户默认掩码值为0022,普通用户默认掩码值为0002
6>file 辨识文件类型
file[选项] 文件或目录...
-c 详细显示紫菱执行过程,便于棑错或分析程序执行的情形。
-z 尝试去解读压缩文件的内容。
7>粘滞位 chmod+t ,则该目录下的文件只能由超级管理员,该目录的所有者,该文件的所有者删除。
F.小试牛刀:在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限?
a.touch 首先删除touch的可读可写的权限,无法创建文件file0,再加上可读权限仍然无法创建file0,删除可读权限加上可写权限,file0创建成功。所以touch需要-wx权限。
b. ls无法显示文件file0,cd ..返回上一级目录,加上可读权限,文件file0可显示,所以ls需要-rx权限。
c.mv 当目录只有可读可执行权限时,修改文件名失败;当删除可读只有可写可执行权限时,文件名修改成功file0->file1。所需权限wx
d>rm 当目录只有可读可执行权限时,删除文件file1失败;当删除可读只有可写可执行权限时,成功删除文件file1。rm(删除文件)–所需权限wx