修改文件权限chown/chgrp/chmod【Linux】

这篇具有很好参考价值的文章主要介绍了修改文件权限chown/chgrp/chmod【Linux】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


修改文件权限chown/chgrp/chmod【Linux】

Linux当中的权限问题

Linux权限的概念

在Linux下有两种用户,分别是超级用户(root)和普通用户。
超级用户的命令提示符是“#”,普通用户的命令提示符是“$“。
超级用户可以在Linux下做任何事情,几乎不受限制,而普通用户一般只能在自己的工作目录下(/home/xxx)工作,以及在系统上做有限的工作。也就是说,权限的概念都是用来限制普通用户的,几乎不限制超级用户。

切换用户账号

命令:su - [用户名]
功能:切换用户。
例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令。

从普通账号切换为root账号。
修改文件权限chown/chgrp/chmod【Linux】
从root账号切换为普通账号。

修改文件权限chown/chgrp/chmod【Linux】

切换用户后,若想切回上次的用户,可通过Ctrl+D实现。

su只是单纯的进行了身份的切换,工作的目录并没有发生改变
su -相当于让我们的root重新登录,默认处在我们的家目录下,也就是/root
修改文件权限chown/chgrp/chmod【Linux】

如何仅提升当前指令的权限
对单条指令进行提权,某些指令在操作时,会显示权限不够,指令请求失败,这时如果要切换到root用户来进行访问的话,有些太麻烦了,因为我们只需要对一条指令进行提权,没必要再切换成root用户来访问。这时我们就可以将sudo+command的方式来对指令进行提权,注意我们这里输入的是普通用户的密码,并非root用户的密码

语法: sudo 指令
功能: 提升当前指令的权限。
例如,我现在要以一名普通用户的身份,修改另一个普通用户的账号密码。

修改文件权限chown/chgrp/chmod【Linux】
该提示说你没有被超级用户(root)添加到信用列表当中,所以该条指令的权限得不到提升,只有当你被超级用户添加到信任列表后,你才拥有提升当前指令权限的能力。

如何将普通用户添加到信任列表
那么首先你得先切换到超级用户,只有超级用户才有权力将普通用户添加到信任列表。

Linux权限管理

文件访问者的分类(人)
对于用户来说,权限可以将用户分为三大类:
1)文件和文件目录的所有者(文件拥有者)。
2)文件拥有者所在的组的用户(文件所属组)。
3)其他用户(other)。

注意:
1)对于某一文件而言,其拥有者、所属组和other就是由超级用户(root)和普通用户所扮演。
2)在Linux当中,所有用户都要隶属于某一个组,哪怕这个组只有你一个人(此时该组就以你的用户名为组名)。

我们可以通过指令ll来查看某一文件或文件目录的拥有者和所属组。
修改文件权限chown/chgrp/chmod【Linux】
注: 除了文件拥有者和文件所属组之外的都叫other。

文件类型和访问权限(事物属性)

使用指令ll,我们可以看到前面有一串字符,这串字符实际上就代表着该文件的类型和属性。
修改文件权限chown/chgrp/chmod【Linux】
这串字符由10个字符组成的。其中第一个字符所代表的就是该文件的文件类型。
修改文件权限chown/chgrp/chmod【Linux】
不同的字符代表不同的文件类型。
1)-:代表普通文件。
2)d:代表目录。
3)l:代表链接文件(类似于Windows当中的快捷方式)。
4)b:代表块设备文件(例如硬盘、光驱等)。
5)p:管道文件。
6)c:字符设备文件。
7)s:套接口文件。
注意: 在Linux当中,文件类型与文件后缀无关。

剩下的9个字符每三个为一组,分别代表该文件相对于其拥有者、所属组以及other是否拥有某种属性
修改文件权限chown/chgrp/chmod【Linux】
每一组的三个字符的第一个字符代表该文件是否具有可读属性,第二个代表是否具有可写属性,第三个代表是否具有可执行属性。
修改文件权限chown/chgrp/chmod【Linux】
若是具有可读属性,则第一个位置的字符为r;若是具有可写属性,则第二个位置的字符为w;若是具有可执行属性,则第三个位置的字符为x。若某一位置为字符 - ,则说明不具有对应位置的属性。

修改文件权限chown/chgrp/chmod【Linux】

注意:1、位置是什么含义是确定的
2、每一个位置只有是或者否,具有指定的权限
r/- w/- x/-

Linux文件名后缀

文件的类型:Linux系统中文件名后缀没有直接的意义,但是不代表不用
Linux操作系统可以不管这些文件的后缀,但并不代表操作该文件的软件或其他编译器不关心这些后缀,例如我们这里的gcc,他可无法识别你这.txt后缀的文件,所以它并不能够编译你这个文件

修改文件权限chown/chgrp/chmod【Linux】

Linux中如何看待后缀 ?
看用户需求

文件权限值的表示方法

  • 字符表示方法
    ll指令打印文件权限值时的表示方法就是字符表示法。例如

修改文件权限chown/chgrp/chmod【Linux】

  • 八进制数值表示法
    字符表示法中的每一个字符所在位置所表示的结果只有两种可能,要么为真,
    要么为假,因此我们可以将这三个字符换为三个二进制位,进而换为一个八进制位进行表示。例如

修改文件权限chown/chgrp/chmod【Linux】

文件访问权限的相关设置方法

如何改变文件的访问权限

语法: chmod 选项 权限 文件名或目录名
功能: 设置文件的访问权限。
常用选项: -R 递归修改目录文件的权限。

chmod指令权限值的格式
格式一: 用户符号 +/-/= 权限字符
1)+:向权限范围增加权限代号所表示的权限。
2)-:向权限范围取消权限代号所表示的权限。
3)=:向权限范围赋予权限代号所表示的权限。
用户符号:
1)u:拥有者。
2)g:所属组。
3)o:other。
4)a:所有用户。
修改文件权限chown/chgrp/chmod【Linux】
若要同时设置不同类用户的访问权限,则需用逗号隔开。
修改文件权限chown/chgrp/chmod【Linux】
三位八进制数字
将对应的八进制数转换为二进制,进而设置对应权限值。
修改文件权限chown/chgrp/chmod【Linux】

如何改变文件的拥有者

语法: chown 选项 用户名 文件名或目录名
功能: 修改文件的拥有者。
常用选项: -R 递归修改目录文件的拥有者。
修改文件权限chown/chgrp/chmod【Linux】

修改文件的拥有者需要root用户进行操作,如果是普通用户则需要进行权限提升。

如何改变文件的所属组

语法: chgrp 选项 用户名 文件名或目录名
功能: 修改文件的所属组。
常用选项: -R 递归修改目录文件的所属组。

修改文件权限chown/chgrp/chmod【Linux】

修改文件的所属组需要root用户进行操作,如果是普通用户则需要进行权限提升。


也可以使用chown指令同时修改文件的拥有者和所属组,将拥有者和所属组的用户名用冒号隔开即可。

修改文件权限chown/chgrp/chmod【Linux】

如何修改文件的掩码

我们查看新建的文件和目录,它们都有自己默认的权限。

修改文件权限chown/chgrp/chmod【Linux】

实际上,新建文件的默认权限为0666,新建目录的默认权限为0777。其中第一位的0与特殊权限有关,这里不展开讲述,而后面三位就是权限的八进制数值表示方法,我们将其翻译为字符表示方法。

修改文件权限chown/chgrp/chmod【Linux】
创建出来的文件和目录的权限值往往不是我们所翻译出来的值,因为创建文件和目录的时候还要受到umask的影响,如果默认权限是mask,则实际创建出来的文件权限是:mask&(~umask)

语法: umask 权限值
功能: 查看或修改文件掩码。

我们可以通过指令umask查看文件默认掩码。
修改文件权限chown/chgrp/chmod【Linux】

将掩码的的后三位八进制换算为二进制,然后对其进行按位取反。

修改文件权限chown/chgrp/chmod【Linux】
将之前的新建文件的默认权限值和新建目录的默认权限值分别与其进行按位与操作,得到的就是最终创建出来的文件和目录的权限值。

修改文件权限chown/chgrp/chmod【Linux】
换句话说就是凡是在umask中出现的权限位,都不能在最终权限中出现。
修改文件权限chown/chgrp/chmod【Linux】

通过修改umask来设置文件的访问权限。
修改文件权限chown/chgrp/chmod【Linux】
注意: 超级用户的默认掩码为0022,普通用户的默认掩码为0002。

总结:
a.普通文件起始权限:666(没有可执行x权限)
b.目录文件起始权限:777(rwx,能显示,能进入,能创建)
c 最终权限: 系统为了更好的控制文件权限,会有默认的(权限掩码umask)的概念。centos7下默认的掩码为0002,第一个0先不管,我们看后三位数(002)就行了 ,002二进制序列就是000 000 010

d.权限掩码: 在起始权限中,去掉在umask中出现的权限,不能影响其他任何权限!

结论:最终权限 = 起始权限 & (~umask)

目录文件的权限

对于文件来说,其可读可写可执行的属性我们都知道分别代表着什么对应的操作,那对于目录来说可读可写可执行又分别代表着什么呢?
1)可读权限: 如果用户没有该目录的可读权限,则无法通过ls指令查看目录中的文件内容。
2)可写权限: 如果用户没有该目录的可写权限,则无法通过一系列指令在目录中创建文件或删除文件。
3)可执行权限: 如果用户没有该目录的可执行权限,则无法通过cd指令进入到目录当中。


总结:
目录文件的权限
r : 是否允许我们查看指定目录下的文件内容
w:是否允许我们在当前目录下进行创建,更改,删除

x : 是否允许用户进入对应的目录

那么这就会出现一个问题
如果用户拥有某目录的可写权限,就可以删除该目录当中的文件,不管该用户是否拥有该文件的可写权限,这显然是不合理的。

为了解决这个不合理的问题,Linux引入了粘滞位的概念。

粘滞位

语法: chmod +t 目录名
功能: 给目录加上粘滞位。
当一个用户将某一个目录加上粘滞位后,该目录的权限值的最后一位变为字符“t”。
修改文件权限chown/chgrp/chmod【Linux】
在Linux中,用大写字母T表示目录启用了粘滞位并且执行权限未启用,用小写字母t表示目录启用了粘滞位并且执行权限启用。

当一个目录被设置为粘滞位,则该目录下的文件只能由:

1)超级用户删除。
2)该目录的拥有者删除。
3)该文件的拥有者删除。

注意:粘滞位通常被用于目录上,目的是限制其他用户删除该目录下的文件或目录。对于普通文件,粘滞位设置是无效的,因为它只对目录文件起作用。

权限的匹配规则

权限的匹配规则是:只能匹配一个人,优先匹配user,然后才是group,最重要的是他只会匹配一次。

如果你觉得这篇文章对你有帮助,不妨动动手指给点赞收藏加转发,给鄃鳕一个大大的关注
你们的每一次支持都将转化为我前进的动力!!!
文章来源地址https://www.toymoban.com/news/detail-492829.html

到了这里,关于修改文件权限chown/chgrp/chmod【Linux】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux命令详解 | chmod命令】 chmod命令用于修改文件或目录的权限,保护文件安全性。

    在Ubuntu系统中, chmod 命令是一个强大的工具,用于修改文件或目录的权限,从而保护文件的安全性。通过适当配置权限,可以控制哪些用户或用户组可以访问、读取、写入或执行特定文件或目录。 chmod 命令是Linux/Unix系统中的基础命令之一,对于系统管理员和开发者来说都是

    2024年02月12日
    浏览(128)
  • 掌握文件权限管理:Mac和Linux中的chmod +x命令详解

    chmod +x是一个用于在Mac和Linux操作系统上设置可执行权限的命令。它允许你将可执行权限添加到文件,使得你可以运行这个文件作为一个程序或脚本。这个命令通常用于shell脚本、可执行程序和其他可运行文件。  chmod 是一个在Unix和Unix-like操作系统中用来改变文件或目录权限的

    2024年02月05日
    浏览(65)
  • linux里root用户权限下chmod修改文件却报错:Operation not permitted的解决方法

    root权限。在家目录里有个test的文件夹,但是这里想要用chmod命令修改该文件夹的权限,却报错 chmod: changing permissions of ‘test’: Operation not permitted 可以通过执行以下命令来检查文件系统是否已挂载为只读模式: mount | grep ’ / ’ 该命令将列出根文件系统的详细信息,包括挂载

    2024年04月24日
    浏览(58)
  • chmod 777 修改文件权限

     1 、简介 chmod:命令是控制用户对文件的权限的命令 2、读写执行权限 r 、 w 、 x  分别表示读、写、执行权限 4、2、1  分别表示读、写、执行权限,7表示全部执行可读可写可执行 权限 权限数字 具体作用 可读 r 4 read ,读取。当前用户可以读取文件内容, 7 表示全部权限,

    2024年02月10日
    浏览(93)
  • 关于Linux文件和目录的777、755、644权限,chmod -R 777 xxx,chmod -R 755 xxx,以及chmod -R 644 xxx 命令意义

    哈喽 大家好啊 之前相对linux的某个文件夹下的文件执行读写操作权限的时候 直接会 chmod -R 777 xxx 路径  赋值某个文件夹读写权限 在linux中,文件或者目录权限分为3种: r:4 读 w:2写 x:1 执行 -:对应的数值0 rwx= 4+2+1 表示读写执行权限 rw= 4+2=6 表示可读写,但是不可以执行 rx =

    2024年02月02日
    浏览(54)
  • Linux中chmod权限设置

    1、权限介绍。 Linux中,文件和目录的权限由三个部分构成:所有者(user)、所属组(group)和其他用户(others)。每个用户组有读取(r)、写入(w)和执行(x)的权限。文件和目录的权限可以使用 ls -l 命令查看。 chmod命令语法: chmod [选项] [模式] 文件或目录 在 Linux 中,

    2024年02月19日
    浏览(28)
  • SSH文件权限设置 | chmod 600 ~/.ssh/* && chmod 644 ~/.ssh/*.pub && chmod 700 ~/.ssh

    如果.ssh目录的权限配置错误,将会导致以下不利影响: 无法使用公钥登录:如果.ssh目录的权限不正确,如目录权限过于宽松(例如设置为777),则该目录下的文件和文件夹可能会被其他用户访问和修改,这将导致无法使用公钥登录进入该服务器。如使用公钥登陆时,提示如

    2024年02月09日
    浏览(38)
  • Linux常见命令 15 - 权限管理命令 chmod

    目录 1. chmod 语法 2. chmod {ugoa} {+-=} {rwx} [文件或目录] -R 3. chmod [mode=421] [文件或目录] -R 4. 注意事项!! 1. chmod 语法 chmod为修改文件/文件夹权限,有以下两种操作,其中-R表示递归修改。【 注意:如果想要修改一个文件的权限,只有两个用户可以:所有者 和 root 】 chmod {ugo

    2024年02月12日
    浏览(43)
  • Linux 文件权限 ( 中 ) 修改文件权限 ( 属主或属组)

                    命令格式 1 :  chmod [- 选项 ] [u/g/o/a] [+-=] [rwx] 文件或目录 ...                                   注   :  #     ugoa :  就是我们上篇讲到的 :                                                            ===                                

    2024年02月06日
    浏览(40)
  • Linux 修改文件权限命令

    Permission denied,操作的文件没有权限的解决方法: sudo:是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具。 -R:是指用到目录里所有子目录和文件; 777:是指所有用户都拥有的最高权限。 sudo chmod -R 777 后面跟上文件路径。

    2024年01月19日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包