用户分类
1、超级用户(root):在Linux下可做任何事情,不受权限限制 2、普通用户(自己创建的用户):受到一定的权限限制。
用户之间的切换
1、超级用户切换成普通用户:(1)su [用户名] (2)ctrl+d (3)exit指令 2、普通用户切换成超级用户:su - 3、当处于普通用户进行某些操作受到权限限制时,我们可以在命令前+sudo来达到短暂提升用户权限的作用。
文件权限的介绍
红框内共有十个字符,第一个字符代表文件的类型。 后九个字符,三三为一组,分别代表“拥有者”,“所有组”以及“other”对于文件的“读、写、执行”的三种权限 r - 读文件的权限 w - 写文件的权限 x - 执行文件的权限 注:1.如果没有该权限,就会用-占位 sadk2.rwx的位置是固定不变的。
文件的类型
在Linux中,文件的类型不像Windows一样由文件的后缀表示,而是由最前面的字符表示
d | 文件夹 |
---|
- | 普通文件 | l | 软链接(类似于Windows中的快捷方式) | p | 管道文件 | c | 字符设备文件(例如屏幕) | s | 套接口文件 |
对于文件的角色
有三种相对于文件的角色。
角色 | 性质 |
---|
拥有者(u) | 文件的创建者 | 所属组(g) | 可以看做是与拥有者协同开发的人员 | other(o) | 外部人员,除拥有者和所属组外的所有人都是other |
可以给不同角色以不同的权限,保证适合的人可以恰当的对文件进行操作。 举个例子:有A、B两个工作组,两个工作组互相不想让对方看到自己的文件,那么就要取消other的“rwx”。而在A组中,a创建了一个文件,a需要与同组同事协同开发,那么a就是文件拥有者,同组其他同事就可以是所属组,就要给他们设定相应的权限。
权限的作用
权限对于普通文件来说:
r(读):无法读取文件内容
w(写):无法向文件中写入内容 x(执行):执行对应文件的二进制文件
权限对于目录来说:
r(读):作用是显示文件下的内容
w(写):在目录下创建删除文件
x(执行):是文件操作的基本权限,没有执行权限那么就不能显示文件,创建删除文件。
更改文件权限——chmod命令
使用:chmod [对象]+/- [权限][文件名] 对象:u-拥有者 …\wx.g-所属组 …\wx.o-other …\wx.不指明对象则默认给三个对象同时操作,或者a-all(操作对象是所有) 还可以一次命令对多个对象的权限进行修改,需要逗号分隔 即使文件没有读写权限,但是root作为超级用户,即使没有权限也可以随意操作。
权限修改的八进制方案
使用3个比特位来某一个对象的权限内容,具体如下:
rwx | 111 | 7 |
---|
rw- | 110 | 6 | r-x | 101 | 5 | r– | 100 | 4 | -rx | 011 | 3 | -w- | 010 | 2 | –x | 001 | 1 | — | 000 | 0 |
更改权限对象
更改文件所有者–chown
其他用户要把文件所有者变成root,那么就需要指令的权限提升,就需要添加"sudo "。 root把文件给其他普通用户的话就不需要,可以直接更改。
更改所属组–chgrp
同更改文件所有者一样,也需要权限提升,使用“sudo”
更改other
其实没有更改other的指令,但是更改了拥有者和所属组,那么作为other其余人也随之改变 可以拥有者和所属组同时更改:chown XXX :XXX 文件名(必要时也需要添加sudo)
umask
我们随意创建一个文件 或者目录,都会有一个默认权限 那么,为什么默认权限就是-rw-rw-r–这样呢? 普通文件默认起始权限从“666”开始,目录的默认起始权限从“777”开始。同时起始权限还与umask有关。设定一个umask那么,umask中出现的权限位都不应该在最终权限的八进制表示中出现。 目前Linux默认的umask是002 下面以文件为例来具体解释一下: 因此,如果我们去更改umask,则会更改起始权限,所创建的文件的默认权限也会随之更改。 总结一个公式:默认权限 = default & (~umask) default:默认起始权限八进制表示 umask:umask的权限八进制表示
粘滞位
先看一种现象 有一个公开文件,文件不属于你,但是你可以随意增加删除文件。有些情况问题不大,但是有时候这不是你想要的情况,other随意删除不属于他自己的文件是一个十分危险的事情。
那么我们就需要一定的方式来解决这个问题,这个时候我们就需要粘滞位来起作用。
|