DBA基础课程-linux基础入门:linux文件/目录的权限和归属管理
最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!
我要咨询DBA基础课程-linux基础入门:linux文件/目录的权限和归属管理
在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。相应的每一个文件和目录都有所属的属主和属组,合理的设置文件和目录的属组和属主在文件/目录管理中占据着很重要的地位,所以,今天我就和大家一起来看一下有关文件/目录的权限和归属的相关设置
一. 访问权限
在linux中用户对文件和目录的访问权限包括:读取、写入、可执行三种权限,每一种权限都代表用户执行不同的操作。
1.读取:允许查看文件内容、显示目录列表等操作,简单来说,就是只能看,其他什么也干不了。字母r表示
2.写入:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录。字母w表示
3.可执行:允许运行程序、切换目录。字母x表示
4.无权限(自定义):什么权限都没有,连查看内容都不行
二.归属(所有权)
所谓归属即为文件属于哪个用户或者用户组。
属主:拥有该文件或目录的用户帐号(本文件所属的用户)
属组:拥有该文件或目录的组帐号(本用户所属的组)
在上面我们知道每一个用户都有它自身的读、写和执行权限。这样也就形成了,linux用户有三套权限控制。第一套权限控制访问自己的文件权限,即所有者权限。第二套权限控制用户组访问其中一个用户的文件的权限。第三套权限控制其他所有用户访问一个用户的文件的权限,这三套权限赋予用户不同类型(即所有者、用户组和其他用户)的读、写及执行权限就构成了一个有9种类型的权限组。简单以一个例子看一下这9种类型的权限组:
[root@localhost ~]# ls -l install.log
-rw-r--r-- 1 root root 34298 04-02 00:23 install.log
分析:
1. ls –l 命令以长格式的形式查看当前目录下所有文件,包括隐藏的,当后面跟的是文件时,即为查看文件的详细信息(权限信息)
2. “-rw-r--r--”部分的第一个字符表示文件类型,可以是d(目录)、b(块设备文件)、c(字符设备文件),减号“-”(普通文件)、字母“l”(链接文件)等
3. “-rw-r--r--”除了第一个字符外,其余部分指定了文件的访问权限,分别代表属主权限、属组权限、普通用户权限。每类用户权限占三个字符,分别代表是否具有“读-写-执行”权限,有相应的权限即用相应的字母表示
4. r、w、x、- 权限字符还可分别表示为8进制数字4、2、1、0(为什么用八进制数表示呢?大家可以想想。)
三. 相关命令
1. 设置文件/目录的权限:chmod命令
(1)格式1:chmod [ugoa] [+-=] [rwx] 文件或目录...
解释:
1. u、g、o、a 分别表示属主、属组、其他用户、所有用户 ,即为你要设置的用户对象是谁,可以同时设置,也可以单独为每一类型设置。
2. +、-、= 分别表示增加、去除、设置权限
3. Rwx即为对应的权限字符(读写执行)。
(2)格式2:chmod nnn 文件或目录...
解释:
1.nnn代表3位八进制数,每一位分别代表属主、属组、其他用户对该文件的权限和。所谓权限和即为相应用户对该文件能否读、写、执行权限相加的值。
比如;属主对某文件设置可读(4)、不可写(0)、可执行(1),这样第一个n就可设置为4+1=5.
2.这种格式命令相对来说可以快速设置某一文件的权限。
(3)补充:常用命令选项
-R:递归修改指定目录下所有文件、子目录的权限
(4)例子:
重新设置aa.txt文件的权限,为属主用户添加执行权限,去除其他用户的读取权限
[root@localhost ~]# chmodu+x,o-r aa.xtx
[root@localhost ~]# ls-l aa.xtx
-rwxr----- 1 root root 29588 05-12 06:19 aa.xtx
—— 重新设置aa.xtx文件的访问权限,恢复为“rwxr-xr-x”
[root@localhost ~]# chmod755 aa.xtx
[root@localhost ~]# ls-l aa.xtx
-rwxr-xr-x 1 root root 29588 05-12 06:19 aa.xtx
—— 使用递归的方式将“/usr/src/”目录中所有子目录、文件的权限都设置为“rw-r--r--”
[root@localhost ~]# chmod-R 644 /usr/src/
——“nnn”为需要设置的具体权限值,如“755”、“644”等
2. 设置文件/目录的归属chown命令
格式:chown 属主 文件或目录
chown :属组 文件或目录
chown 属主:属组 文件或目录
常用命令选项-R:递归修改指定目录下所有文件、子目录的归属
相对于修改权限来说,设置文件和目录的归属就相对来说简单了,下面我们来看一个例子:
设置文件afile的属主为用户st01
# chown st01 afile
设置文件afile的属组为用户组class1
# chown :class1 afile
设置文件afile的属主为st03,并设置文件的属组为class2
# chown st03:class2 afile