Linux文件基本属性 目录权限

鳄鱼君

发表文章数:642

热门标签

, ,

Vieu四代商业主题

高扩展、安全、稳定、响应式布局多功能模板。

¥69 现在购买
首页 » Linux » Linux文件基本属性 目录权限

为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。

Linux文件基本属性

在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组

[root@www ~]# ls -l

total 60
lrwxrwxrwx.  1 root root     7 May 11  2019 bin -> usr/bin
dr-xr-xr-x.  5 root root  4096 Jun 15 18:27 boot
drwxr-xr-x. 19 root root  2980 Jun 27 00:35 dev
drwxr-xr-x. 97 root root  4096 Jun 27 00:35 etc
drwxr-xr-x.  2 root root  4096 May 11  2019 home
lrwxrwxrwx.  1 root root     7 May 11  2019 lib -> usr/lib
lrwxrwxrwx.  1 root root     9 May 11  2019 lib64 -> usr/lib64
drwx------.  2 root root 16384 Jun 15 18:19 lost+found
drwxr-xr-x.  2 root root  4096 May 11  2019 media
drwxr-xr-x.  2 root root  4096 May 11  2019 mnt
drwxr-xr-x.  3 root root  4096 Jun 27 00:35 opt
dr-xr-xr-x. 98 root root     0 Jun 27 00:34 proc
dr-xr-x---.  2 root root  4096 Jun 15 18:28 root
drwxr-xr-x. 33 root root   960 Jun 27 00:35 run
lrwxrwxrwx.  1 root root     8 May 11  2019 sbin -> usr/sbin
drwxr-xr-x.  2 root root  4096 May 11  2019 srv
dr-xr-xr-x. 13 root root     0 Jun 27 00:34 sys
drwxrwxrwt.  3 root root  4096 Jun 27 01:45 tmp
drwxr-xr-x. 12 root root  4096 Jun 15 18:20 usr
drwxr-xr-x. 21 root root  4096 Jun 15 18:27 var

bin文件的第一个属性用d表示。d在Linux中代表该文件是一个目录文件。在Linux中第一个字符代表这个文件是目录、文件或链接文件:

  1. 【d】:目录
  2. 【-】:文件
  3. 【l】:链接文档(link file)
  4. 【b】:装置文件里面的可供存储的接口设备(可随机存取装置)
  5. 【c】:装置文件里面的单行端口设备,列如键盘、鼠标(一次性读取装置)

接下来的字符中,三个为一组,且均为【rwx】三个参数的组合。其中,【r】代表可读(read)、【w】代表可行(write)、【x】代表可执行(execute)。三个权限的位置不会改变,如果没有权限,就会出现减号【-】。每个文件的属性由左边第一部分的10个字符确定:

Linux文件基本属性 目录权限

从左到右用0-9的数字表示:

  1. 第0位:文件类型
  2. 第1-3位:属主(该文件的所有者)拥有该文件的权限
  3. 第4-6位:属组(所有者的同组用户)拥有该文件的权限
  4. 第7-9位:其他用户拥有该文件的权限

第1、4、7位表示读权限,如果用”r”字符表示,则有读权限,如果用”-“字符表示,则没有读权限
第2、5、8位表示写权限,如果用”w”字符表示,则有写权限,如果用”-“字符表示没有写权限
第3、6、9位表示可执行权限,如果用”x”字符表示,则有执行权限,如果用”-“字符表示,则没有执行权限

Linux文件属主和属组

对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。文件者以外的用户又可以分为文件所有者的同组用户和其他用户。因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。

ls -l

total 64
drwxr-xr-x 2 root  root  4096 Feb 15 14:46 cron
drwxr-xr-x 3 mysql mysql 4096 Apr 21  2014 mysql

上面的代码中,mysql 文件是一个目录文件,属主和属组都为 mysql,属主有可读、可写、可执行的权限;与属主同组的其他用户有可读和可执行的权限;其他用户也有可读和可执行的权限。

对于 root 用户来说,一般情况下,文件的权限对其不起作用。、

更改文件属性

1、chgrp:更改文件属组

chgrp [-R] 属组名 文件名

-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改

2、chown:更改文件属主,也可以同时更改文件属组

chown [–R] 属主名 文件名

chown [-R] 属主名:属组名 文件名

3、chmod:更改文件9个属性

Linux文件属性有两种设置方法,一种是数字,一种是符号。Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。

文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:

r:4
w:2
x:1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx—] 分数则是:

owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0

我们设定权限的变更时,该文件的权限数字就是770啦!变更权限的指令chmod的语法是这样的:

chmod [-R] xyz 文件或目录

xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更

如果要将.bashrc这个文件所有的权限都设定启用,那么命令如下:

[root@www ~]# ls -al  #不忽视.开头的
total 16
drwxr-xr-x  3 www  www  4096 Jun 27 13:25 .
drwxr-xr-x  4 www  www  4096 Jun 27 10:51 ..
-rw-r--r--  1 root root   51 Jun 27 10:52 .user.ini
drwxrwxr-x 12 www  www  4096 Jun 27 13:40 仿B站

[root@www ~]# chomd 777 仿B站
[root@www ~]# ls -al
drwxrwxrwx 12 www  www  4096 Jun 27 13:40 仿B站

如果要将权限变成 drwxr-xr– 呢?那么权限的分数就成为 [4+2+1][4+0+1][4+0+0]=754。可以自行修改

符号类型改变文件权限

还有一个改变权限的方法,从之前的介绍中我们可以发现,基本上就九个权限分别是:

  1. user
  2. group
  3. others

那么我们就可以使用 u, g, o 来代表三种身份的权限!

此外, a 则代表 all,即全部的身份。读写的权限可以写成 r, w, x,也就是可以使用下表的方式来看:

chmod u
g
o
a
+(加入)
-(除去)
=(设定)
r
w
x
文件或目录

如果我们需要将文件权限设置为 -rwxr-xr– ,可以使用 chmod u=rwx,g=rx,o=r 文件名 来设定:

[root@www ~]# touch test1    // 创建 test1 文件
[root@www ~]# ls -al test1    // 查看 test1 默认权限
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1
[root@www ~]# chmod u=rwx,g=rx,o=r  test1    // 修改 test1 权限
[root@www ~]# ls -al test1
-rwxr-xr-- 1 root root 0 Nov 15 10:32 test1

而如果是要将权限去掉而不改变其他已存在的权限呢?例如要拿掉全部人的可执行权限,则:

[root@www ~]# chmod  a-x test1
[root@www ~]# ls -al test1
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1

未经允许不得转载:作者:鳄鱼君, 转载或复制请以 超链接形式 并注明出处 鳄鱼君
原文地址:《Linux文件基本属性 目录权限》 发布于2020-06-27

分享到:
赞(0) 赏杯咖啡

评论 1

7 + 2 =
  1. #1

    过来支持一下!

    Teacher Du3个月前 (07-05)回复

文章对你有帮助可赏作者一杯咖啡

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.6主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册