跟老男孩学Linux运维-核心系统命令实战-第2章-文件和目录操作命令-chmod改变文件或目录权限

2.23.chmod改变文件或目录权限(*****

2.23.1.命令详解

chmod 命令是用来改变文件或目录权限的命令,但是只有文件的属主和超级用户root才能够执行这个命令。

#-R 递归处理指定目录以及其子目录下的所有文件 ---常用---

权限对应表

权限位 全称 含义 对应数字
r read 可读权限 4
w write 可写权限 2
x execute 可执行权限 1
-   没有任何权限 0
备注 一些特殊权限位:t、T、s、S、X、x

用户

类型

文件所属用户:u(Owner/User)

文件所属用户组:g(Group)

其它用户:o(Other)

所有:a(ALL)、等效于u、g、o的总和

操作

字符

+:加入

-:减去

=:设置

2.23.2.使用范例

#权限字母和操作符表达式
chmod a = file1.txt
ll -h file1.txt
chmod u+x file1.txt
ll -h file1.txt
chmod g+w file1.txt
ll -h file1.txt
chmod o+r file1.txt
ll -h file1.txt
chmod ug+r, o-r file1.txt
ll -h file1.txt
chmod u=rwx,g=rx,o=x file1.txt
ll -h file1.txt

#文字的数字权限授权案例
chmod 000 file1.txt
ll -h file1.txt
chmod 753 file1.txt
ll -h file1.txt

#使用-R参数递归授权权限案例
ll -d dir2/
ll dir2/
chmod -R 777 dir2/
ll dir2/
ll -d dir2/

2.23.3.Liunx普通文件的读、写、执行权限说明

可读r 表示具有读取/阅读文件内容的权限
可写w

表示具有新增、修改文件内容的权限:

1.如果没有r,用vi编辑器,输入":wq!"可以强制覆盖,但原文件内容会被清除;因此可以使用echo追加内容到文件(echo "aaaa">>oldboy.txt)

2.删除文件(修改文件名等)的权限是受父目录的权限控制,和文件本身的权限无关,文件名在父目录的block里

可执行x

表示具有执行文件的权限

1.文件本身要能够执行

./oldboy.txt

下面三种方法都是通过其他命令来实现的

. /oldboy.txt?
source oldboy.txt
sh oldboy.txt

2.普通用户必须还要有r权限才能够执行,无r就不能执行

3.root即时没有r权限,只要有x权限就能执行

4.root用户位没有执行权限,但只要其他权限位还有x权限,那它就能执行

  

2.23.4.Linux目录的读、写、执行权限说明 

可读r

表示具有浏览器目录下面文件及子目录的权限,即 ls dir

1.没有x不能进到目录里,即无法 cd dir

2.ls 列表可以看到所有的文件名,不过会提示无权访问目录下的文件

3.如果 ls -l 列表,则所有的属性会带有问号,也会提示无权访问目录下的文件,但是可以看到所有文件名

可写w

表示具有增加、删除或修改目录内文件名(一般指文件名)的权限(需要x权限配合)

1.增加的不是文件内容,而是创建一个新的文件

2.修改的不是文件内容(这个看文件本身的权限),只能修改文件名,重命名文件(文件名是在目录的block中,看目录的权限是w的就可以)

3.删除也是删除文件而不是看文件本身的权限,是看目录的权限,如果没有x权限则不能删除

可执行x

表示具有进入目录的权限;例如:cd dir

1.没有r则无法列表

2.没有w则无法新建文件

 

  

posted on 2019-12-02 06:33  herisson_pan  阅读(19)  评论(0)    收藏  举报

导航