Linux入门--权限

目录

权限的概念

Linux中的用户

Linux权限管理

修改权限

修改权限的另一种方式

默认权限

目录的权限

粘滞位


权限的概念

  权限是操作系统用来限制对特定资源访问的机制,权限一般分为读、写和执行。系统中的每个文件都拥有特定的权限、所属用户,通过这样的机制来限制哪些用户可以对特定文件进行哪些操作

Linux中的用户

  在Linux有两种用户,root和普通用户。root可以理解为VIP,解锁了所有功能。而普通用户就要被权限所约束,规定了那些能进那些不能进。

在学习Linux时一般会在虚拟机或云服务器上创建好用户,那么这时可以使用whoami来查看当前是那个用户

可以现在是Wqy这个用户,如果想切换其他用户或者切换到root账号,那么该怎么做?下面来了解一些指令

su指令可以切换用户,可以通过su 要切换的用户名 来进行切换,当然要输入对应的密码

除了su指令之外,还可以通过sudo来指令提权,sudo可以在不切换账号的情况下,使用root的权限来进行一些当前账号不能做到的事。sudo默认不可用

su 用户名  :切换用户

sudo  :不切换用户使用root的权限

Linux又在文件中划分了三种“人”:拥有者、所属组、other。Linux中具有组的概念,旨在多人协作的时候更好的进行权限管理

Linux权限管理

  在上面一直在探讨权限,那么权限到底在哪呢?能不能让我看看呢?

可通过创建一些文件来查看

可以看到在创建的文件前面有一大串东西,而其中的rwx就是对该文件的权限,权限是3个为一组,其中

r(read)读权限, 可以读取文件内容,可以列出目录内容
w(write)写权限, 可以修改文件内容,可以在目录中创建删除文件
x(excute)执行权限,可以作为命令执行,可以访问目录内容 
- 没有权限

r和w很容易理解,这里的x要说明一下:

文件能执行 = 具有可执行权限+得是一个可执行文件

第一个文件类型可以简单了解一下

d:文件夹

-:普通文件

l:软链接(类似Windows的快捷方式)

b:块设备文件(例如硬盘、光驱等)

p:管道文件

c:字符设备文件(例如屏幕等串口设备)

s:套接口文件

其中的d为目录文件,也就是我们熟知的文件夹,其他文件就不一一介绍

修改权限

  在上面大致了解了权限,上面说到组是为了多人协作,那么就说明我们是打算让一些人能够对文件进行修改,因此就来学习一下怎么修改文件的权限

chmod指令

语法:chmod [参数] 权限 文件名

参数:

R -> 递归修改目录文件的权限

说明:只有文件的拥有者和root才可以改变文件的权限

chmod [u±rwx],[g±rwx],[o±rwx],[a±rwx] filename 

+:向权限范围增加权限代号所表示的权限

-:向权限范围取消权限代号所表示的权限

=:向权限范围赋予权限代号所表示的权限 用户符号:  

u:拥有者

g:拥有者同组用

o:其它用户

a:所有用户

在文件中用户要有对应的权限才能进行对应的操作

但我们去除拥有者的r权限,即便这是该用户创建的文件,也没权限读

这时我们会发现,我既是拥有者,也是所属组,并且我在所属组中有r权限,为什么读不了呢?

因为,Linux对用户身份的识别从左到右,并且只识别一次

那么root既不是拥有者也不是所属组,那就是other,而other没有w权限。那么对于root能不能w该文件呢?

可以看到,即便没有权限,root依旧可以读

root恐怖如斯

修改权限的另一种方式

  chmod除了可以使用rwx来改权限,还可以使用8进制来修改各组的权限,有三组所以用三个8进制数来表示

有对应的权限就为1否则为0,例如rwx=4*1+2*1+1*1=7,所以rwx对应的八进制数为7,注意顺序是固定的

默认权限

Linux创建文件的时候,为什么文件会自带权限呢?

这是因为在Linux中有权限掩码umask来确定新建文件、文件夹的默认权限

最终权限 = 起始权限&(~mask)

 

创建的普通文件,起始权限是:0666,去掉x的

创建的目录文件,起始权限是:0777,包含x的

那么普通文件的权限

目录的权限

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

注意了!!!删除文件与该用户有没有该文件的w权限无关而是和该文件所在目录的w权限有关 

粘滞位

那么问题来了, 换句话来讲, 就是只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限.那万一别人把我的文件给删了,那怎么办?

为了解决这个不科学的问题, Linux引入了粘滞位的概念

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由

  • 超级管理员删除
  • 该目录的所有者删除
  • 该文件的所有者删除

 如有错误,感谢指正

  • 18
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值