【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,可以看到这个目录已经被设置了粘滞位

相关推荐
johnny23339 分钟前
运维管理面板:AcePanel、OpenOcta、DeepSentry
运维
青梅橘子皮1 小时前
Linux---基本指令
linux·运维·服务器
REDcker2 小时前
Linux信号机制详解 POSIX语义与内核要点 sigaction与备用栈实践
linux·运维·php
cui_ruicheng3 小时前
Linux进程间通信(三):System V IPC与共享内存
linux·运维·服务器
蚰蜒螟3 小时前
深入 Linux 内核同步机制:从 futex 到 spinlock 的完整旅程
linux·windows·microsoft
运维全栈笔记3 小时前
Linux安装配置Tomcat保姆级教程:从部署到性能调优
linux·服务器·中间件·tomcat·apache·web
dllmayday4 小时前
Linux 上用终端连接 WiFi
linux·服务器·windows
ACP广源盛139246256734 小时前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑
峥无5 小时前
Linux系统编程基石:静态库·动态库·ELF文件·进程地址空间全景图
linux·运维·服务器
用户2367829801685 小时前
从 chmod 755 说起:Unix 文件权限到底是怎么算的?
linux