本篇知识点清单
1.Linux的权限划分
2.Linux的权限管理(权限操作的指令)
3.粘滞位
(1)认识Linux的权限系统
权限意味着有高有低,在Linux下有两种用户,超级用户(root用户)和普通用户:
root 用户:
可以在Linux里做任何事情,权限比普通用户高
普通用户:
能做的事情有限。
如何查看当前权限以及切换不同用户
我们在终端里看到的 $ 就代表普通用户,# 就代表 root 用户
通过 su 指令可以从普通用户进入 root 用户,需要输入密码
su(或su root)
exit
从 root 用户退出到普通用户使用 exit 指令
Linux文件的权限
文件访问者的分类:
第一类: 文件和文件目录的拥有者(u——user)
第二类:(文件和文件目录的拥有者)所在组的用户(g——group)
第三类:其他用户(o——other)
如何查询权限
ll 指令可以查看当前目录下的文件权限
此时出现一个10位的前缀
第一位 d 代表文件类型
d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件
之后的每三位数字,分别代表着三类访问用户的权限:
其中:
r 代表 read 读权限
w 代表 write 写权限
x 代表 execute 执行权限
举例!
第234位为 “r-x” 代表第一类用户的权限是可读不可写可执行
10位数字后面的两个名字分别代表:
1.所属用户
2.所属用户组
(2)Linux的权限管理
rwx详解:
r (read)写权限
对文件:具有读取文件内容的权限
对目录:具有浏览该目录信息的权限
w (write)读权限
对文件:具有修改文件内容的权限
对目录:具有删除移动目录内文件的权限
x(execute)可执行权限
对文件:具有执行文件的权限
对目录:具有进入目录的权限
如何具体理解可执行权限
所谓的可执行权限,是一个程序能执行的必要条件,但不是充要条件
**换言之:**一个程序有可执行权限,也不一定可以执行
我们敲下的指令其实本质都是可执行权限
八进制数表示权限的方法
除了用字母表示,还可以用八进制数表示
例如:
rwx 二进制表示为111 而111的八进制数是7 所以7代表可读可写可执行权限
r-w 二进制表示为101 而101的八进制数是5 所以5代表可读不可写可执行权限
(2)Linux文件权限的操作
chmod(change mod):
chmod -r:这个-r就是减r,就是减去read权限,不能读
chmod +r:这个+r就是加r,给用户加上read读权限
chmod u-r:只处理当前文件拥有者的某个权限
chmod g-r:操作同组用户的权限(groop)
chmod o-r:操作其他用户的权限(other)
chmod 777:
chmod+三位八进制数字,来修改权限
(一个八进制数字正好对应三个比特位)
比如 ---rw-r--:
二进制: 000 110 100
八进制: 0 6 4
所以:chmod 064 test.txt可以操作权限
whereis ll:能够找到可执行程序的路径
sz:可以把linux上的文件加入windows
粘滞位
使用场景:
假设有一个用户A想查看目录a中的代码
就需要把目录a的权限开放给A,目录a中文件的写权限都对A关闭
此时用户A可以删除代码文件:
(只要用户拥有了目录的写权限,不管用户是否拥有文件的读写权限,都能删除文件)
这是linux的设计问题
解决方法:
给目录设置粘滞位
chmod +t