java程序员菜鸟进阶(十七)linux基础入门(五)linux文件/目录的权限和归属管理


在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。相应的每一个文件和目录都有所属的属主和属组,合理的设置文件和目录的属组和属主在文件/目录管理中占据着很重要的地位,所以,今天我就和大家一起来看一下有关文件/目录的权限和归属的相关设置

 


做个广告:我参加CSDN举办的博客之星评选,希望得到大家的支持!


投票地址:点我投票




一. 访问权限


在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 




你可能感兴趣的:(java程序员菜鸟进阶(十七)linux基础入门(五)linux文件/目录的权限和归属管理)