zl程序教程

您现在的位置是:首页 >  系统

当前栏目

【Linux】权限管理

Linux权限 管理
2023-09-11 14:19:30 时间

目录

组:

组的定义:

组有关的操作:

1、chown:

2、chgrp:

3、groupadd:

文件权限:

文件权限:

rwx权限对文件和目录的差异:

文件/目录权限的修改:


组:

组的定义:

组:在linux系统下,每一个文件都会有三种属性:文件拥有者,文件所在组和其他组。文件拥有者很简单,就是这个文件属于谁。默认一般是谁创建这个文件,那么这个文件就属于谁。而文件所在组就是文件拥有者所在的组。而异于这个文件拥有者所在组的组,对于这个文件来说就是其他组。对于这些概念,对于我们管理文件权限有很大作用,因为我们可以根据它们的身份管理它们的权限。

组有关的操作:

1、chown:

这个指令用于修改文件的拥有者。它只会修改文件的拥有者而不会修改文件的所在组,它的基本语法是:

chown [修改为哪个组] [文件名]

2、chgrp:

这个指令用于修改一个文件的所在组,它的基本语法是:

chgrp [修改为哪个组]  [文件名]

3、groupadd:

这条指令用于创建一个组,他的基本用法是:

groupadd [组名]

文件权限:

文件权限:

linux下每一个文件都有权限限制,它的权限可以限制不同用户对它的操作。文件的权限可以由ls指令查看

上面所显示的字母列,就是文件的权限管理的体现,这组字母列由4个可以看成由4个部分组成:

第一部分第0位:

第一部分表示文件的属性,它可以从四个字符中选择:

  • d(目录文件);
  • -(普通文件);
  • l(链接);
  • c(字符设备);
  • b(块设备,如磁盘)

第二部分第1~3位:

第二部分表示文件拥有者的权限

  • r(只读);
  • w(只写);
  • x(只执行)

第三部分第4~6位:

第三部分表示与文件拥有者同一个组的用户的权限,同样是rwx;

第四部分第7~9位:

第四部分表示其他组用户的权限,也同样是rwx;

rwx权限对文件和目录的差异:

对于rwx的三种权限,对应文件和对应目录是有不同的意义的!

对应文件:

r--表示可以读取、查看文件;

w--表示可以修改文件的内容,但注意,不能删除文件!!删除文件是目录下的写权限;

x--表示可以执行一些可执行文件的权限

对应目录:

r--表示可以查看目录的内容,当有x权限但没有r,但是有修改文件的权限时。即使我们不能显示出来目录内文件,但是也可使修改目录内文件;

w--表示可以增加或者删除目录里的文件已经重命名目录;

x--表示可以进入目录的权限

文件/目录权限的修改:

对于修改文件/目录的权限,我们可以利用chmod的指令,它的基本语法是:

chmod [修改权限] [文件名]

这条指令有两种实现的方法:

①+、-、=权限:

我们可以直接利用这些运算符来给某个对象增加一些权限,其中u表示文件拥有者,g表示拥有者所在组、o表示其他组,a表示所有人。

下面举几个使用这种方法修改文件权限的例子:

1、将hello.c文件的拥有者权限改为全部,其他组权限改为读;

chmod u=rwx,o=r hello.c

2、将hello.c文件的组成员权限增加写:

chmod g+w hello.c

 3、将hello.c文件的拥有者权限去掉读:

chmod u-r hello.c

 ②数字方式:

我们除了可以利用操作符,也可以利用数字的方式,它的原理是

用4代表r,用2代表w,用1代表x。用它们的和代表权限。

即7表示rwx、5表示-rx、3表示-wx....可以确定,这几个数字组合出来的和是唯一的,所以权限是唯一的。我们利用一个三位数代表权限,第一位是u的权限和、第二位是g的权限和、第三位是o的权限和。

所以下面举个例子:

1、给hello.c的u、g、o都赋予所以权限:

chmod 777 hello.c

2、给hello.c的u赋予rwx、o赋予x、g赋予w:

chmod 724 hello.c