【Linux】Linux权限讲解 :写给文件的一封情书

目录

一、Linux下的用户分类

二、什么是权限

三、修改权限

[3.1 修改文件的权限](#3.1 修改文件的权限)

[3.2 修改对象的权限](#3.2 修改对象的权限)

四、补充相关知识


一、Linux下的用户分类

  • root : 超级用户
  • 普通用户 :我们自己新建的用户

(root 不受权限约束)

怎样在用户之间切换身份?

su 指令 :单个su 指令,默认是切换成root用户

从txf 普通用户输入root用户的密码,换成root 用户

但是依旧还是/home/txf路径下,只是做了身份的切换,如果,一开始在登入的时候就登的是root用户,那么就会在root路径下

我重登一下,输入root 用户,就在root路径下

单个su : 只是原地修改权限,不改变路径

su - 指令 :相当于重新登入root

想要回来 :ctrl +d

那怎么从root到普通用户呢?

在root 用户下 : su + 普通用户 ,不需要输入密码,直接登入到普通用户,且换到了普通用户目录下

ctrl + d ,也可以退回来,多按几次,发现ctrl +d 就是退回到上一次目录下,直到退出程序

从普通用户到普通用户

su + 普通用户,输入普通用户的密码即可

如果想让这一条指令是由root来执行,而又不想切换用户时

sudo 指令 :给当前这个指令短暂提权

第一次sudo要你输入你自己的用户密码,后面的指令用root用户去跑

二、什么是权限

sudo 指令 :给当前这个指令短暂提权,这个"权" 是权限,那什么是权限?

一个事务的权限认证的是身份,也就是不同角色,不同角色能在相同的事务上做不同的事,但还有一点,一个事务本身能做什么,也和事务的本身属性有关

  • 权限与"谁"的身份有关
  • 权限与事务本身的"属性"也有关

这里来谈文件的属性 : 可读,可写,可执行

这里我们就来好好的看一下这一行行的字符是什么

三、修改权限

3.1 修改文件的权限

先看一下不同对象对应的权限

用户表示符+/-=权限字符

  • +:向权限范围增加权限代号所表⽰的权限
  • -:向权限范围取消权限代号所表⽰的权限
  • =:向权限范围赋予权限代号所表⽰的权限

⽤⼾符号:

  • u:拥有者
  • g:所属组
  • o:其它用户
  • a:所有用户

chmod 指令 :u-rwx ,g-rwx,o-rwx

  • u-rwx :user(拥有者) - (减去)rwx(可读,可写,可修改的权限)
  • g-rwx : group(所属组)-(减去)rwx(可读,可写,可修改的权限)
  • o-rwx : other(其他人) -(减去)rwx(可读,可写,可修改的权限)
  • u+rwx :user(拥有者) + (加上)rwx(可读,可写,可修改的权限)
  • g+rwx : group(所属组)+(加上)rwx(可读,可写,可修改的权限)
  • o+rwx : other(其他人) +(加上)rwx(可读,可写,可修改的权限)

可以用2进制位如 : 111,来表示

也可以用八进制的数字来表示权限:

所以我们在修改权限的时候,可以用这种数字的方式来修改

3.2 修改对象的权限

chown 指令: 更改文件的拥有者

但是不能这样直接改:

我们需要sudo ,对这个指令做提权(root是老大,所有的事root都可以来执行)

chgrp 指令 : 更改文件的所属组

chown txf:txf test.txt : 一次性修改文件拥有者和所属组

四、补充相关知识

**umask指令 :**umask可以查看或修改文件掩码,凡是在umask中出现的文件权限,在文件的最终权限中都不会出现

  • 普通文件的起始权限是666(rw-)
  • 目录文件的起始权限是777 (rwx)
  • 但是我们看到的新建文件的最终权限却是664,看到的新建目录的最终权限却是775,这就跟文件掩码有关

实际上你所创建的⽂件和⽬录,看到的权限往往不是上⾯这个值。原因就是创建⽂件或⽬录的

时候还要受到umask的影响

用umask指令查看文件掩码 :

假设默认权限是mask,则实际创建的出来的⽂件权限是: mask &~umask

umask 还可以修改文件掩码


对于目录的权限 :

  • r:是否允许我们在指定目录下查看文件内容 (允许ls)
  • w:是否允许我们在当前目录下进行创建,修改,删除操作 (允许mkdir ,echo ,rm)
  • 可执行x:是否允许我们进入指定的目录 (允许cd)
  • 对于普通文件来说,是否可以删除这个文件是由它的目录属性w来决定,并不是这个文件属性本身决定

粘滞位 t

粘滞位 t 是可执行 x 权限中的一种特殊形式,粘滞位可以使该文件只能由文件拥有者或root用户进行删除,不同用户可以创建修改删除自己的文件,并且这个自己创建的文件其他人无法进行删除,自己也无法删除别人的文件

这样,在我们多个用户想要进行文件信息的共享时,建立一个公共目录,(如果将这个共享建在自己的家目录,而家目录的权限是700,其他人都无法进入这个目录),在根目录 / 下建立一个共享文件,就可以进行文件传输,每个用户都可以共享,且其他用户无法将你的文件删除

其实在根目录中有用于文件共享的目录,这个目录名叫做tmp,可以看到这个目录已经被设置了粘滞位

相关推荐
AlfredZhao5 小时前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户97183563346611 小时前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪12 小时前
linux 拷贝文件或目录到指定的位置
linux
大树881 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠1 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质1 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush41 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5201 天前
Linux 11 动态监控指令top
linux
小宇宙Zz1 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工1 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信