Linux权限
什么是权限
通过一定的条件,拦住一部分人,给另一部分的人权利,来访问某种资源,
权限的本质
1.权限跟人有关
2.权限和事务的属性有关 , 权限 = 角色+事务的属性, ,角色由人扮演
Linux的用户
root :超级管理员,不受约束
其他用户
这里需要引入命令
su
su
当我们运行了,并输入密码,我们就会把其他用户变成root,并且所在路径不会改变,
su -
这个相当于重新登入root ,当前路径就变成了/root ,也就是root的家目录
如果我们要从root变成其他用户
su tisugou
权限永远是限制普通人的
sudo touch a.c
文件访问者分类
对于这个我简单的讲解,第一个root表示root用户创建的,属于root ,第二个是组,该文件属于该组的
这个组可以方便组员查看
Linux中的文件权限
可以看到前面有-rw-rw-r–这个字符串,
第一个字符"-" : 代表是普通文件
“d” : 代表文件夹
文件的属性权限
上面我们讲
权限 = “用户角色” + 事务属性
角色有三种: 用户 (user) 、所属组和other
r: 读操作
w: 写操作
x: 可执行操作
-: 无
红色框的就是用户, 白色框的就是所属组
文件权限修改
chomd
#增加权限 chmod u+r test.txt chmod u+w test.txt chmod u+x test.txt chmod g+r test.txt chmod g+w test.txt chmod g+x test.txt chmod o+r test.txt chmod o+w test.txt chmod o+x test.txt #减少权限 chmod u-r test.txt chmod u-w test.txt chmod u-x test.txt chmod g-r test.txt chmod g-w test.txt chmod g-x test.txt chmod o-r test.txt chmod o-w test.txt chmod o-x test.txt # 所以角色加权限 chmod a+rwx test.txt #所以角色减少权限 chmod a-rwx test.txt
权限的作用
对于普通用户。自身要收到对应权限约束,即使这个文件属于自己,而root是不受权限限制的
权限存在的意义:保证普通用户的文件的一般的安全性
r: 可以让对应的角色拥有读的权限
w:可以让对应的角色拥有写的权限
x:可以让对应的角色拥有执行的权限
在Linux里除了用这个表示还要用数字表示,那在Linux的表示形式就是 “-”表示0,其他表示1
这里使用的是八进制进行的,所以上面表示为357
r:4
w:2
x:1
使用chmod的指令
chmod 357 test.txt
对用户的权限的识别:
如果当前用户对某一文件进行操作,会先识别该文件的所有者和当前用户是否是一样的,如果是一样的就会找到对应的权限进行匹配,可以说用户识别是一次性的,当匹配成功后,哪怕后面还有组,都不会继续识别下去
可以看到虽然组有rw,但是用户就只有w,所以当识别成功的时候就会不识别后面的了
对于执行权限的认识
执行 = 可执行权限 + 可执行文件
就是说这个文件本身必须是可执行文件,并且当前用户拥有可执行权限,执行这个文件才成功
chown
更改文件的所有者,使用这个命令要有root权限
chown root test.txt #要把test,txt的所有者laoqin更改为root
chown laoqin:laoqin test.txt #要把test,txt的所有者和所属组更改为laoqin
chgrp
更改文件所属组,使用这个命令要有root权限
chgrp root test.txt #root就是要把test,txt的所属组laoqin更改为root
文件类型
第一个字符代表的是文件类型
-:表示普通文件
d:表示文件夹
b:块设备文件
ls /dev/vda -l
查看文件磁盘
c:字符设备文件
显示器本质就是字符设备
ls /dev/pts -l
这里都是显示器文件,
p:管道文件
创建管道文件
mkfifo pipe
l:链接文件
ls /usr/lib64/ -l
图中有一部分是链接文件
小知识
1.Linux系统不以文件后缀作为区分文件类型,但是gcc是需要的,因为gcc不等于Linux系统
简单的说,就是Linux不区分文件类型,但是Linux系统上的工具要区分
一般我们是可以在Linux使用后缀的
2.我们在创建一个文件或者文件夹就会赋予一些权限,文件夹和文件之间赋予的权限不相同,为啥会这样,
文件创建的起始权限就是 0666
文件夹创建 的起始权限就是 0777
其实在linux中有一个权限掩码
umask
查看umask
umask 0000
修改umask
默认为0002,为八进制
创建文件夹或者文件的时候,要从起始权限中,过滤掉umask中出现的权限
.
文件夹的权限
文件 = 文件内容 + 文件属性
Linux系统下,一切皆文件
所以文件夹也是一个文件
文件夹 = 文件夹属性+ 文件夹内容
文件夹的内容就是文件夹里面的所有文件信息详情数据
文件夹需要查看文件的权限
r:文件夹内文件的查看权限
对文件夹里面的文件的操作的权限
w:文件目录下文件的增删改
进入文件目录的权限
x;控制文件夹的进出
文件夹权限的总结
文件的删除和创建和更改是由所处的目录的权限决定的
还有就是不要随意在别人的目录里面创建文件