0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

还在傻傻的分不清Linux的文件权限吗?

马哥Linux运维 来源:马哥Linux运维 2023-07-09 16:04 次阅读

Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。

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

在 Linux 中我们通常使用以下两个命令来修改文件或目录的所属用户与权限:

  • chown (change owner) :修改所属用户与组。

  • chmod (change mode) :修改用户的权限。

下图中通过 chown 来授权用户,通过 chmod 为用户设置可以开门的权限。

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

[root@www /]# ls -l
total 64
dr-xr-xr-x   2 root root 4096 Dec 14  2012 bin
dr-xr-xr-x   4 root root 4096 Apr 19  2012 boot
……

实例中,bin文件的第一个属性用d表示。d在 Linux 中代表该文件是一个目录文件。

在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。

  • 当为d则是目录

  • 当为-则是文件;

  • 若是l则表示为链接文档(link file);

  • 若是b则表示为装置文件里面的可供储存的接口设备(可随机存取装置);

  • 若是c则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

接下来的字符中,以三个为一组,且均为rwx的三个参数的组合。其中,r代表可读(read)、w代表可写(write)、x代表可执行(execute)。要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号-而已。

9ac7c2a2-1da3-11ee-962d-dac502259ad0.png

每个文件的属性由左边第一部分的 10 个字符来确定(如下图)。

9afbe0fa-1da3-11ee-962d-dac502259ad0.png

从左至右用0-9这些数字来表示。

0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。

第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。

其中,第1、4、7位表示读权限,如果用r字符表示,则有读权限,如果用-字符表示,则没有读权限;

2、5、8位表示写权限,如果用w字符表示,则有写权限,如果用-字符表示没有写权限;第3、6、9位表示可执行权限,如果用x字符表示,则有执行权限,如果用-字符表示,则没有执行权限。


Linux文件属主和属组

[root@www /]# 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
……

对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。

同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。

文件所有者以外的用户又可以分为文件所属组的同组用户和其他用户。

因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。

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

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


更改文件属性

1、chgrp:更改文件属组

语法:

chgrp [-R] 属组名 文件名

参数选项

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

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

语法:

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

进入 /root 目录(~)将install.log的拥有者改为bin这个账号:

[root@www ~] cd ~
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log

将install.log的拥有者与群组改回为root:

[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log

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 .bashrc
-rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc

那如果要将权限变成-rwxr-xr--呢?那么权限的分数就成为 [4+2+1][4+0+1][4+0+0]=754。

符号类型改变文件权限

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

  • user:用户

  • group:组

  • 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 文件名来设定:

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

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

#  chmod  a-x test1
# ls -al test1
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11219

    浏览量

    208872
  • 接口设备
    +关注

    关注

    0

    文章

    8

    浏览量

    6677

原文标题:还在傻傻的分不清Linux的文件权限吗?

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    嵌入式Linux入门(二、Linux文件系统、文件类型及权限管理)

    嵌入式 Linux入 门第二课, linux 文件系统、文件类型及权限管理。 ...... 矜辰所致
    的头像 发表于 06-20 11:44 1974次阅读
    嵌入式<b class='flag-5'>Linux</b>入门(二、<b class='flag-5'>Linux</b><b class='flag-5'>文件</b>系统、<b class='flag-5'>文件</b>类型及<b class='flag-5'>权限</b>管理)

    工业互联网和工业4.0傻傻分不清楚?

    工业互联网是什么?工业互联网的网速快吗?工业互联网是物联网概念的重新包装么?工业互联网和工业4.0,傻傻分不清楚?工业互联网已经渗透到了哪些领域?
    发表于 07-12 06:51

    不要再对各种电机、舵机傻傻分不清楚了 精选资料分享

    你是否和木木一样,想要自己diy一个机器人,却对电机、舵机、步进电机、伺服电机、数字舵机、模拟舵机、串行总线舵机……一大堆名词傻傻分不清楚?管你到底是啥,在我这都叫“马达”,哈哈哈哈哈!如果你也是这样可可爱爱、没有脑袋,那么或许你应该抽出几分钟时间阅读一下这篇文章。
    发表于 09-01 08:31

    Linux文件权限管理的探讨

    Linux 是一种多用户的操作系统,其文件权限管理在文件管理中占有重要的地位。为了更好地把握Linux
    发表于 06-11 09:37 11次下载

    Linux改变文件或目录的访问权限命令

    Linux改变文件或目录的访问权限命令 Linux改变文件或目录的访问权限命令  
    发表于 01-18 12:46 1197次阅读

    科普:石墨烯电池、石墨烯基电池二者有何不同?别傻傻分不清

    很多吃瓜群众是不是已经对“石墨烯电池”和“石墨烯基电池”傻傻分不清楚了。
    发表于 01-23 15:40 5376次阅读

    Linux系统文件权限细节分析

    linux是一个安全的操作系统,她是以文件为基础而设计的,其文件权限是比较复杂的,可以用stat命令以及lsattr命令来显示某个文件的详细
    发表于 11-07 11:08 9次下载

    曾经分不清的RAM知识 你现在搞明白了吗?

    曾经分不清的RAM知识,你现在搞明白了吗?
    的头像 发表于 02-25 15:33 3128次阅读

    Linux进程权限的分析说明

     在linux下,关于文件权限,大部分人接触比较多,也比较熟悉了解。但是对进程权限一般知之甚少。本文总结一下linux系统下进程
    发表于 07-17 10:55 861次阅读

    准度、精度傻傻分不清

    做电子产品,常常遇到测量。此时就难免会关注到精度、准度等概念,遇到不少朋友对这两个概念不清楚,今天就来分享一下这两个概念。 为什么写本文,前面写过些ADC方面的文章,遇到有朋友貌似对这两个概念理解
    发表于 01-29 06:46 5次下载
    准度、精度<b class='flag-5'>傻傻</b><b class='flag-5'>分不清</b>?

    芯片、半导体、集成电路还在傻傻分不清

    芯片,半导体,集成电路,傻傻分不清楚? 很多人都会有这样的烦恼,希望今天分享的文章能帮助到大家~一起学习!一起进步! 一、什么是芯片? 芯片,又称微电路、微芯片、集成电路(integrated
    的头像 发表于 09-28 17:13 3w次阅读

    Linux系统如何修改文件属性与权限

    我们已经深入学习了Linux系统中用户和用户组的基本概念。每个文件和目录都具有“所属用户”和“所属用户组”这两个属性,这两个属性对文件权限及安全性至关重要。本节我们就来学习如何修改一个
    的头像 发表于 05-12 15:29 2569次阅读
    <b class='flag-5'>Linux</b>系统如何修改<b class='flag-5'>文件</b>属性与<b class='flag-5'>权限</b>

    傻傻分不清?射频模拟信号源和矢量信号源的区别

    今天博宇讯铭工程师给大家介绍一下射频信号源,射频信号源由于它的低相噪和频率的高稳定性,常常用来作为电路的信号驱动和时钟替代。但射频信号源不仅有模拟信号源,还有矢量信号源,往往这两种射频信号源让人们傻傻分不清
    的头像 发表于 08-23 15:26 3289次阅读
    <b class='flag-5'>傻傻</b><b class='flag-5'>分不清</b>?射频模拟信号源和矢量信号源的区别

    linux文件访问权限怎么设置

    Linux 文件访问权限是操作系统中一个非常重要的概念。正确地设置文件访问权限可以保护系统的安全性,防止未经授权的人员对
    的头像 发表于 11-23 10:20 1442次阅读

    Linux文件权限及Makefile

    的详细信息 //man -L zh_CN open man 1 open man 2 open man 3 open Part2文件权限 2.1 权限理解 在 Ubuntu(以及其他类 UNIX
    的头像 发表于 11-24 16:06 543次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>文件</b><b class='flag-5'>权限</b>及Makefile