权限,就是对某事项进行决策程度和范围,通俗来说,就是规定哪些事情能做、哪些事情不能做。那么,在Linux中有哪些基本权利呢?进入目录需要哪些权限、在目录中执行增删(cd,touch,ls,rm,mv等)改文件动作需要哪些权限呢?
一、Linux中的基本权限(r、w、x)
1、读(r/4):read对于文件来说,具有读取文件内容的权限;对于目录来说,具有浏览该目录信息的权限。
2、写(w/2):write对于文件来说,具有修改文件内容的权限;对于目录来说,具有删除、移动目录内文件的权限。
3、执行(x/1);execute对于文件来说,具有执行文件的权限;对于目录来说,具有进入目录的权限。
(*注:每条权限后边的数字是一个八进制数字,具体用法后面在本文后面会进行阐述。)
字符表示方法
Linux表示 | 说明 | Linux表示 | 说明 |
---|---|---|---|
r - - | 只读 | - w - | 仅可写 |
- - x | 仅可执行 | r w - | 可读可写 |
- wx | 可写和可执行 | r - x | 可读可执行 |
rwx | 可读可写可执行 | - - - | 无权限 |
二、权限的表现形式
1、通过字母和“-”来表示
在命令行输入pwd并按回车键执行,会进入到目前的目录;接着在命令行输入ls并执行,就会显示出当前目录下的子目录;再在目录行输入ll(字母“L”的小写)并执行,就会看到目前目录下所有项目的权限。具体情况请看下面的截图。
大家可以看到,在图片的第一列显示的就是文件的可操作权限,这些操作权限其实是按照所有者u(文件和文件目录的所有者)、所属组g(文件和文件目录的所有者所在的组的用户)、其他用户o(其他用户)的权限顺序依次组合。拿第一个文件的权限来说,它的所有者u具有的操作权限是读、写、执行,所属组g拥有的权限也是读、写、执行,其他用户o 拥有读和执行的权限。参照“一、Linux中的基本权限(r、w、x)”就可以大概知道哪些人对于这个文件拥有什么操作权限。
2、通过数字来表示
在这里,我们对“一、Linux中的基本权限(r、w、x)”中遗留下来的问题进行解释。所有者u、所属组g、其他用户o 所拥有的权限其实可以用一个八进制数字来表示,也就是说,一个文件的权限可以通过三个八进制数字来表示,例如777。那么,777所表示的汉译英该怎么理解呢?要理解他所代表的含义,应该先把它转化为对应的二进制数字:7对应的二进制数字是111,这个表达的意思是r、w、x三种权限都具有,那么777表示的意思就是这个文件的拥有者u、所属组g、其他o都具有r、w、x这三种权限。
8进制数值表示方法:
权限符号(读写执行) | 八进制 | 二进制 |
---|---|---|
r | 4 | 100 |
w | 2 | 010 |
r | 1 | 001 |
x | 6 | 110 |
rw | 5 | 101 |
wx | 3 | 011 |
rwx | 7 | 111 |
---- | 0 | 000 |
**
三、如何修改权限
1、以字母形式修改
利用chmod命令,通过对u、g或o加减想要的权限来实现对文件权限的更改。修改之后,大家可以再次运用ll命令来查看修改后的权限。
2.以数字形式修改
利用chmod命令,我们可以让u、g、o都拥有r、w、x权限。也就是使用777,那么命令执行之后在通过ll命令查看文件权限,那么文件的所有者u、所属组g和其他用户o就都会拥有r、w、x权限。
进入目录需要哪些权限, 在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限
首先通过一张图给大家介绍可执行权限:
在图中我们可以看到,当去掉所有者的执行权限后,运用cd命令无法进入code目录(这里的code目录只是个例子),第二行显示的意思是权限不允许,当我们给所有者加上执行权限后,就可以进入了,此时没有任何错误提示。
以下是一些命令的权限总结:
命令 | 作用 | 所需权限 |
---|---|---|
cd | cd 目录名(进入目录) | 所需权限x |
touch | touch 文件名(创建文件) | 所需权限wx |
ls | ls(显示当前目录下的所有文件) | 所需权限rx |
rm | rm 文件名(删除文件) | 所需权限wx |
mv | mv 文件名1 文件名2(把文件名1修改为文件名2) | 所需权限 |