【Linux常见指令以及权限理解】权限理解(一)

简介: 【Linux常见指令以及权限理解】权限理解(一)

写在前面

这篇文章,我们来聊一聊Linux下权限相关的知识,我打算从这几个方面展开:


1. 认识Linux下用户的分类


2. 什么叫做权限


3. 没有权限会是什么样子


4. 如何修改权限


5. 其它重要的问题


那么废话不多说,我们现在开始。


目录


写在前面


1. Linux下用户的分类


如何切换用户


如何提高用户权限


2. 什么叫做权限


3. 如果没有权限是什么样的


普通文件:


目录文件:


4. 权限如何修改


6. 第一个问题:文件的起始权限


7. 第二个问题:目录的权限


8. 第三个问题:粘滞位


总结


写在最后:


1. Linux下用户的分类

Linux下有两种用户:


1. root(超级用户)


2. 普通用户


我们adduser添加的就是普通用户。


他们有什么区别呢?


root 基本不受权限的约束,而普通用户受权限的约束。


如何切换用户

我们如何切换两个用户呢?


Linux下所有的用户都有自己的密码,


我们可以通过su/su- 指令切换用户:


例:(切换到root用户)



输入的密码是root的密码,


另外,su- 指令是切换到root的根目录下,su 还是在当前的目录下面。


我们可以用Ctrl d这个快捷键回到之前的用户:



当然,直接输入 exit 也是一样的效果。


如何提高用户权限

我们可以通过sudo指令可以临时提升用户的权限,(持续时间可能十几分钟不等)


例:



我们可以观察到,在指令前面加上sudo,用户就临时切换成了root


这里输入的密码是当前用户的密码,


你可能会问:为什么我输入我的用户密码却能获得root的用户权限?


实际上,我们需要将该用户添加到系统信任的白名单才能享受sudo指令,


至于如何添加,我会在讲Linux工具的时候介绍,如果有兴趣的话,可以自己上网搜教程。


2. 什么叫做权限

权限,其实就是一件事情 是否允许你去做。


权限的认证是身份还有事物的属性,我们拿一个文件举个例子:


比如说我们刚刚建立的test.txt文件和目录:



最前面的这个:



是代表文件的类型:


- 代表普通文件(文本、可执行文件等等)


d 代表目录文件


b 代表 块设备文件(磁盘文件)


c 代表字符设备文件(键盘、显示器)


p 代表管道文件(用来通信的)


我们这里主要讨论普通文件和目录文件。


补充:(文件类型)


Linux系统中的文件后缀名是没有直接意义的(系统内核不靠这个区别文件类型)


(注:只是系统内核,不代表Linux下的一些软件他不需要后缀名)


(比如说gcc编译器,他编译的时候还是需要你是.c的后缀名)


我们继续来看权限:



Linux中表示文件权限的是这个地方的字符,


他们三个为一组,分别代表拥有者,所属组,other的权限,


这些字符的意思分别是:


r 代表读权限


w 代表写权限


x 代表执行权限


- 代表没有这个位置的权限


另外:



文件的这两个地方分别代表的是该文件的拥有者和所属组。


3. 如果没有权限是什么样的

普通文件:

这里,我们重定向了一句话进test.txt文件中:



并查看了test.txt 文件的内容,


如果这个文件没有写权限会如何?



我们发现当该文件没有写权限的时候,我们的追加重定向就失败了


没有追加这句话进文件,Permission denied 了。


如果没有读权限呢?



我们可以发现,cat 指令也用不了了,无法读文件了。


当我们给test.txt 加上可执行权限:



我们甚至也可以执行该文件,当然,啥事都不会发送就是了。


这就是文件的权限。


如果我们用root用户操作呢?


来试试:


我们可以看到,这个文件啥权限都没有


但是root想干啥就能干啥,这就是超级用户。


目录文件:

我们接下来测试一些目录文件的权限:



我们发现,当目录没有可执行权限的时候,我们就进不去了


如果没有写权限呢:



我们发现目录文件没有写权限的话,我们在目录里无法创建新文件


如果没有读权限呢:


我们发现没有读权限,可以查看文件的内容,


但是我们无法查看该目录里面有什么文件。


当然,root 用户无论如何,什么功能都能使用。


这里补充一点,other的权限就是指其他用户来访问我的文件是后的权限。


4. 权限如何修改

我们可以使用chmod指令


直接看例子:


给我自己增加读权限:(chmod u+r 文件名)



给所属组增加写权限:(chmod g+w 文件名)



给other增加可执行权限:(chmod o+x 文件名)



通过这三个例子,


我们可以观察出:u就是用户,g就是所属组,o就是other,+就是添加权限


取消所有人的权限:(chmod a-rwx 文件名)


总结:a 是所有人,-就是取消权限。


补充,我们还能这样理解权限:(通过八进制的形式)


实际上,每个位置的权限都是用二进制来表示的:


比如:(我们的test.txt文件)



他的权限现在是 rw- rw- r--


用二进制表示就是:110 110 100


转换成八进制就是:6 6 4


例:(通过数字修改权限)



我们当然也可以:



这就是权限的修改,


实际上我们还可以修改文件的拥有者和所属组,


分别是:


chown + 用户名 + 文件名


chgrp + 所属组名 + 文件名


选项 -R 可以修改目录。


这里我就不演示了,感兴趣的话可以自己去试试。

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
1月前
|
Linux Shell
Linux系统文件默认权限
Linux系统文件默认权限
|
7天前
|
Linux 数据安全/隐私保护
linux特殊权限!!
本文介绍了Linux系统中的特殊权限,包括suid、sgid和sbit。suid使普通用户在执行特定命令时获得root权限;sgid使用户在创建文件时继承目录的用户组权限;sbit确保用户只能删除自己在共享目录中创建的文件。此外,文章还讲解了chattr和lsattr命令,用于更改和查看文件的扩展属性,以及umask的概念和计算方法,帮助理解文件和目录的默认权限。
23 1
linux特殊权限!!
|
30天前
|
Linux Windows
【Linux】-基本指令(下)
【Linux】-基本指令(下)
【Linux】-基本指令(下)
|
24天前
|
Linux
【Linux第一弹】- 基本指令
【Linux第一弹】- 基本指令
31 1
|
30天前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(三):Linux下操作指令大全
Ubuntu学习笔记,介绍了Linux操作系统中常用的命令和操作,如文件管理、系统信息查看、软件安装等。
44 3
|
30天前
|
Unix Linux 索引
【Linux】-基本指令(上)
【Linux】-基本指令(上)
|
1月前
|
运维 监控 安全
Linux_权限理解(详细PLUS)
【10月更文挑战第3天】本文介绍了Linux系统中的权限管理基础,包括文件系统对象与权限关联、权限的继承性、字符与数字表示法的解读,以及用户、组与权限的动态交互。详细解析了`chmod`命令的高级用法和权限修改的风险,探讨了SUID、SGID和Sticky Bit等特殊权限的作用机制,并提出了基于角色的权限分配和定期权限审计的最佳实践。
57 11
|
1月前
|
Linux Shell Windows
Linux入门1——初识Linux指令
Linux入门1——初识Linux指令
26 0
Linux入门1——初识Linux指令
|
1月前
|
人工智能 Unix Linux
装杯 之 Linux指令
本文介绍了Linux操作系统的基本命令。首先欢迎各位进入Linux的世界,并展示了`ls`命令,用于列出目录下的文件和子目录。接着介绍了`pwd`命令,用于显示当前目录;`cd`命令,用于切换目录;`mkdir`命令,用于创建目录;`touch`命令,用于创建普通文件或修改文件时间戳;`rmdir`命令,用于删除空目录;以及`rm`命令,用于删除文件或目录。通过这些基本命令,你可以开始探索和管理Linux系统。
|
1月前
|
Linux 应用服务中间件 nginx
Linux下权限设置之suid、sgid、sticky
Linux下权限设置之suid、sgid、sticky
下一篇
无影云桌面