对文件的权限管理
ls -l,也可以用 ll 命令查看文件权限的相关信息
第一列“-rw-r--r--.”为权限信息,权限信息的最后一个点表示为在安全环境下创建的
第二列“1”为硬链接数,第三列“root”为属主,第四列“root”为属组,第五列“18”为文件大小
第六、七、八列“Aug 6 00:22”为文件创建的时间,为 8 月 6 日 00:22
第九列“123.txt”为文件名
权限信息一共有十位:
第一位为文件类型:- 为文本文件,d 为目录文件,l 为软连接(快捷方式),b 为设备文件,p 为管道文件
创建快捷方式的命令
[root@sch01ar test]# ln -s 文件 快捷方式
设备文件
第一位之后的九位分为三组,为权限信息,r 为可读,w 为可写,x 为可执行,- 为无权限
第一组为第二位到第四位,该组为属主的权限信息,字母缩写为 u
第二组为第五位到第七位,该组为属组的权限信息,字母缩写为 g
第三组为第八组到第十组,该组为其他用户(不是属主,也不属于属组)的权限信息,字母缩写为 o
-rw-r--r--
属主对该文件只有可读写的权限,没有可执行的权限
属组对该文件只有读权限,其他用户对该文件也只有读权限
给文件附加权限
给文件的属组(g)的只读权限附上写(w)和执行(x)的权限
chmod 可以用加减和等于赋予相关的权限
例如,给属主的权限添加可执行权限(x)
[root@sch01ar a]# chmod u+x test.txt
删除属主的可写和可执行权限
[root@sch01ar a]# chmod u-wx test.txt
給属主赋予可读可执行不可写的权限
[root@sch01ar a]# chmod u=r-x test.txt
u 为属主,g 为属组,o 为其他用户
root 用户拥有绝对的权限
对这个只读的文件进行修改
用 vim 编辑器进行修改
[root@sch01ar a]# vim test.txt
提示该文件为只读文件
在末尾添加一行内容
保存
编辑器提示加 ! 强制执行就能修改成功
切换个普通用户修改该只读文件的话
保存的时候还是提示加 ! 强制执行修改
加上 ! 后,还是不能修改
如果只有写权限没有读权限的话
修改该文件
无法显示内容
往里面写入一行 abcd
保存,查看内容
没有读权限,换 root 用户查看内容
之前文件中的内容被覆盖了
如果没有执行权限的话
test.txt 中的内容为
执行文件的方式:
. 文件 ./文件 sh 文件 bash 文件
执行该 test.txt 文件
换个普通用户执行该文件
对目录的权限管理
用 ll -d 命令查看目录的相关权限
r 为读权限,即可以查看该目录中的内容
w 为写权限,即可以创建,删除,重命名目录中的文件
x 为执行权限,即可以打开该目录
如果没有读权限的话
就只能创建,删除,重命名文件,切换到该目录,不能查看该目录里的内容
如果没有写权限的话
就只能查看目录中的文件,切换到该目录,不能进行创建,删除,重命名文件
如果没有执行权限的话
就只能 ls 查看目录中的文件,不能创建,删除,重命名文件,不能切换到该目录
因为查看目录中的文件和创建,删除,重命名目录中文件时,系统会打开该目录
虽然有读权限,但还是会提示权限不够。虽然有写权限,但是不能进行相关的操作
目录权限也是递归的,上一级的目录要有可执行权限,才可以对下一级目录进行操作
如果上一级只有读写权限,没有可执行权限,下一级有读写执行权限
不能查看 /test/a/ 目录下的内容,不能切换到 /test/a/ 目录,不能对 /test/a/ 目录下的文件进行操作
如果上一级目录只有执行权限的话,就可以对下一级目录进行操作
属主、属组和基于数字的权限管理
查看一个文本文件的相关权限
如果要修改属主和属组的话,chown 属主.属组 文件
如果只要修改属组的话,chown .属组 文件
如果只要修改属主的话,chown 属主 文件,也可以 chown 属主. 文件
递归地修改目录的属主和属组
递归地将属主和属组修改为 test
用 chown -R 命令
[root@sch01ar ~]# chown -R test.test /test/a/b/c/
查看情况
从 test 目录开始,属主和属组都变成为 test