Linux 权限

简介: Linux 权限

Linux下有两种用户:

  1. 超级用户(root)
    可以再linux系统下做任何事情,不受限制。
  2. 普通用户
    在linux下做有限的事情。


超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。


su命令

su [用户名]

可以切换用户

要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的密码。


Linux权限管理

在Linux下一切皆文件。权限一般是对谁,拥有怎样的约束。


文件访问者分类

  1. 拥有者

拥有我这个文件的人,一般来说是文件的创造者,但是可以更改。


  1. 所属组

我们有一个文件,除了自己以外,还想让别人查看,但是不想让所有人查看,只想让自己限定的人查看,所以就有一个所属组的概念。


  1. other

除了拥有者和所属组剩下的就是other了。


文件类型和访问权限

  1. 文件类型

d:文件夹

-:普通文件

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

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

p:管道文件

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

s:套接口文件

Linux下文件的类型适合文件后缀没有关系的,我们加后缀是为了我们自己方便观察,虽然Linux不分文件后缀,但是有些工具是要区分的,比如gcc就不认识.txt后缀的文件,换成.c的就可以跑。

  1. 文件的权限
  • 读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限。
  • 写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限。
  • 执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。
  • “—”表示不具有该项权限。


怎么看这文件类型和权限呢?

我们可以输入ll指令


文件权限的表示方法

  1. 字符表示法


2.八进制表示法


文件权限的修改

修改文件的权限我们需要有到chmod指令

  1. 语法

chmod [参数] 权限 文件名


  1. 功能

设置文件的访问权限。


  1. 常用选项

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

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


也可以使用八进制数字


chown指令

可以修改文件的拥有者。


chgrp指令

可以修改文件的所属组。


我们在创建一个文件时,是有默认权限的

  1. 对于目录来说,它的默认权限是777。
  2. 对于普通文件来说,它的默认权限是666。


但是从我们目前看到的结果来说好像并不是这样的,这是为什么呢?

这是因为在创建文件或目录的时候还要受到umask(掩码)的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask。


我们可以用umask指令来查看我们当前的掩码。

这是一个八进制数字,第一个0我们可以不用管,可以认为是八进制数字的前置。

所以我们用 mask & ~umask这个公式算一下,就是上面的结果了。


我们也可以用umask设置掩码。

我们将掩码设置为0,可以看到对于目录来说,它的默认权限是777。对于普通文件来说,它的默认权限是666。


file指令

可以查看文件的类型

我们也可以用sudo指令来提升指令的权限。

sudo –u 用户名 命令


如果不加用户名默认就是root。


目录的权限

可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.

可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.

可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.


也就是说,一个文件一定存在一个目录中,它能否被删除与它自己的权限没有关系,和它的父目录有关,就是只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限。也就是我们常说的毁灭你与你无关。


但是这也引发了很多问题,如果我们在同一目录下工作,凭什么你可以删除我创建的文件,这多少有点不太合理,因此Linux引入了一个新的权限:粘滞位。


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

  1. 超级管理员删除
  2. 该目录的所有者删除
  3. 该文件的所有者删除



总结:

目录的可执行权限是表示你可否在目录下执行命令。

如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)

而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。

相关文章
|
4月前
|
Linux Shell
Linux系统文件默认权限
Linux系统文件默认权限
85 2
|
3月前
|
Linux 数据安全/隐私保护
linux特殊权限!!
本文介绍了Linux系统中的特殊权限,包括suid、sgid和sbit。suid使普通用户在执行特定命令时获得root权限;sgid使用户在创建文件时继承目录的用户组权限;sbit确保用户只能删除自己在共享目录中创建的文件。此外,文章还讲解了chattr和lsattr命令,用于更改和查看文件的扩展属性,以及umask的概念和计算方法,帮助理解文件和目录的默认权限。
86 1
linux特殊权限!!
|
4月前
|
运维 监控 安全
Linux_权限理解(详细PLUS)
【10月更文挑战第3天】本文介绍了Linux系统中的权限管理基础,包括文件系统对象与权限关联、权限的继承性、字符与数字表示法的解读,以及用户、组与权限的动态交互。详细解析了`chmod`命令的高级用法和权限修改的风险,探讨了SUID、SGID和Sticky Bit等特殊权限的作用机制,并提出了基于角色的权限分配和定期权限审计的最佳实践。
113 11
|
4月前
|
Linux 应用服务中间件 nginx
Linux下权限设置之suid、sgid、sticky
Linux下权限设置之suid、sgid、sticky
|
4月前
|
Linux 数据安全/隐私保护 Windows
Linux_权限理解(详细PLUS
Linux_权限理解(详细PLUS
|
4月前
|
网络协议 Linux 网络安全
【Linux】用户和权限及实用操作------迅速了解用户和权限及其实用操作
【Linux】用户和权限及实用操作------迅速了解用户和权限及其实用操作
|
4月前
|
Linux Go 数据安全/隐私保护
Linux入门2——初识Linux权限
Linux入门2——初识Linux权限
44 0
|
6月前
|
存储 安全 Linux
Linux权限之谜:一步步教你如何解锁sudo权限并窥视/etc/shadow的神秘面纱!
【8月更文挑战第22天】在Linux中,`sudo`命令让授权用户能以其他用户(通常是root)身份运行命令。关键的安全文件`/etc/shadow`存储用户密码哈希,仅root可读。要使用`sudo`,需确保账户被列入`sudoers`文件中。系统管理员可通过`visudo`编辑此文件来赋予用户权限,例如添加`username ALL=(ALL) NOPASSWD: ALL`行。获得`sudo`权限后,可运行`sudo cat /etc/shadow`查看文件内容,但需谨慎操作以免影响系统安全。遵循最小权限原则,确保安全使用这些强大工具。
176 2
|
6月前
|
Linux 数据安全/隐私保护
在Linux中,什么是文件权限?什么是rwx权限模型?
在Linux中,什么是文件权限?什么是rwx权限模型?
|
6月前
|
Unix Linux Shell
Linux 权限简介
Linux 权限简介
65 1