云计算百科
云计算领域专业知识百科平台

【Linux】权限

Linux权限

1、Linux权限的概念

Linux下有两种用户:

  • 超级用户:可以再linux系统下做任何事情,不受限制
  • 普通用户:在linux下做有限的事情
  • 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”

超级用户的用户名为root,超级用户可以无障碍切换到普通用户,普通用户切换到超级用户需要输入超级用户的密码,如果普通用户在进行操作时受限,可以切换到超级用户

2、用户切换

命令:su [用户名]

  • 从超级用户root切换到普通用户需要用到su 用户名,路径不会变
  • 在这里插入图片描述

  • 从普通用户切换到超级用户root,则使用su root时会出现提示要求输入root用户的密码
  • 在这里插入图片描述

    补充:命令:su –

    su -同样可以进行身份的切换

    su -和su的区别:

    su仅仅是切换身份,文件所处的路径不变,su -是重新登录切换成超级用户,连同路径和身份一起改变
    在这里插入图片描述

  • 从一个普通用户切换到另一个普通用户
    在这里插入图片描述
  • 从普通用户A切换到普通用户B需要输入B的密码

    对指令进行短暂提权:命令sudo 提权指令

    如果想用sudo进行提权,首先应在root超级用户的白名单里,否则无权使用指令,例如:

    在这里插入图片描述

    加入白名单后:

    在这里插入图片描述

    2、Linux权限管理

    权限=人+角色,权限也和文件的属性有关

    文件属性:

    通过ls -l来查看目录下文件的属性

    在这里插入图片描述

    在这里插入图片描述

    如图所示,文件最前面的- 表示普通文件,后面的三个一组,共三组,分别为文件所有者的权限(rw-),文件所属组的权限(rw-),其他人的权限(r–),r,w,x都是文件属性,有属性就用相应的字母,没有属性就用-代替

    • r:读权限,对于普通文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
    • w:写权限,对普通文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
    • x:可执行权限,对普通文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
    • -:表示不具有该项权限

    文件类型:

    • d:文件夹
    • -:普通文件
    • l:软链接(类似Windows的快捷方式)
    • b:块设备文件(例如硬盘、光驱等)
    • p:管道文件
    • c:字符设备文件(例如屏幕等串口设备)
    • s:套接口文件

    3、Linux中的文件访问者

    • 文件和文件目录的所有者:u
    • 文件和文件目录的所有者所在的组的用户:g
    • 其它用户:o

    所属组指的用户是指文件权限在白名单中的用户
    在这里插入图片描述

    上面的第一列me代表文件的拥有者,第二列me代表所属组,当用户操作文件时,文件会先看用户是否是拥有者,若不是则再看用户是否是所属组,若不是所属组则是其他人

    eg:

    上图中me既是所有者也是所属组,那么对文件进行操作时是所有者身份还是所属组身份?

    当所有者和所属组都是me时
    在这里插入图片描述

    把test.txt的所有者改为root,去掉所有者读的权限,留给所在组读的权限

    在这里插入图片描述

    再用me账号访问test.txt中的内容

    在这里插入图片描述

    由上图可知,用户操作文件时,文件会先看用户是否是拥有者,若不是则再看用户是否是所属组,都不是则是其他人

    4、权限的修改

    4.1 chmod

    功能:设置文件的访问权限

    格式:chmod [参数] 权限 文件名

    常用选项:

    • R -> 递归修改录文件的权限
    • 说明:只有文件的拥有者和root才可以改变文件的权限

    chmod命令权限值的格式:

    • u:拥有者
    • g:所属组
    • o:其它用户
    • a:所有用户
    • +:向权限范围增加权限代号所表示的权限
    • -:向权限范围取消权限代号所表示的权限
    • =:向权限范围赋予权限代号所表示的权限

    eg:

    chmod u+w test.txt :给文件拥有者增加写权限

    chmod o-x test.txt :取消其他用户的执行权限

    chmod u+w,g+r,o+r test.txt :增加拥有者写权限,所属组读权限,其他用户读权限

    4.2 三位8进制表示文件权限值

    权限符号二进制八进制数值
    000 0
    –x 001 1
    -w- 010 2
    -wx 011 3
    r– 100 4
    r-x 101 5
    rw- 110 6
    rwx 111 7

    chmod 777 test.txt :将所有用户的权限都设置成rwx

    4.3 chown

    功能:修改文件的拥有者
    格式:chown [参数] 用户名 文件名

    把东西给别人时,需要征得别人同意,不能直接转交给别人,同样一个账号的文件不能随意转移到另一个账号中

    在这里插入图片描述

    但root可以把一个账号中的文件转交给另外一个账号

    在这里插入图片描述

    chown aq test.txt :把test.txt文件的拥有者改成aq

    chown aq:me test.txt :把test.txt文件的拥有者改成aq,所属组改为me

    4.4 chgrp

    功能:修改文件或目录的所属组
    格式:chgrp [参数] 用户组名 文件名

    常用选项:

    -R 递归修改文件或目录的所属组

    实例:

    chgrp users /abc/f2:表示把f2文件的所属组改成users

    4.5 umask掩码

    Linux中新建一个目录的默认权限是777,新建一个文件默认权限是666,但实际上创建后往往不是这个值,原因是受掩码umask的影响

    默认权限掩码:
    在这里插入图片描述

    超级用户为0022,普通用户为0002

    所以最终权限 = 其实权限&(~umask)

    umask 755 表示修改默认掩码为755

    4.6 目录的权限

    • 可执行权限:如果目录没有可执行权限,则无法cd到目录中
    • 可读权限:如果目录没有可读权限,则无法用ls等命令查看目录中的文件内容
    • 可写权限:如果目录没有可写权限,则无法在目录中创建文件,也无法在目录中删除文件

    删除lesson2的x权限,无法进入lesson2

    在这里插入图片描述

    删除lesson1的r权限,无法查看lesson1目录下的文件

    在这里插入图片描述

    删除lesson1的w权限,无法在目录中删除或创建文件

    在这里插入图片描述

    4.7 粘滞位

    如果两个用户想共享一个文件,但是其他用户无法进入另一个用户的家目录来查看文件,这时需要通过root超级用户建立一个共享文件

    但如果目录有w写权限,那么别的用户可以在目录下创建、删除、修改文件,这时如果想保留w权限并解决用户互删文件的操作,需要用到粘滞位

    chmod o+t shared :给共享目录的other加上粘滞位权限
    在这里插入图片描述

    t是一种特殊的x权限,只允许文件拥有者或root能删除这个文件

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 【Linux】权限
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!