【Linux】Linux权限

目录

一、认识Linux下的用户分类

root:超级用户

普通用户:我们新建的用户(adduser)

例如:在windows下的超级用户是"以管理员身份运行"

root和普通用户的区别是:root基本不受权限的限制,普通用户是受权限限制的

1.root和普通用户是怎样切换的

如果我是普通用户,那我怎么变成root?

所需指令:su或者su -

👻su指令:

👻su -指令:

su指令和su-指令的区别:

su是身份变化,直接将普通用户切换到root用户,但不是以登录的身份变化的;

su-是重新登录了,所以它的目录是自己的家目录

👻用su切换后的目录:

👻用su-切换后的目录:

如果要退回普通用户,所需指令:exit

如果我是root,那我怎么变成指定的普通用户?

所需指令:su 【指定普通用户】

当身份是root的时候,切换至普通用户不需要密码

2.对某一指令进行暂时提权

所需指令:sudo

目前我们用adduser新建的用户,没有颁发执行sudo,系统不信任你。除非未来将普通用户,添加到系统的信任自名单里面

👻👻小总结:
如果以后要执行一些高指令的操作,可以把身份切换成root或者sodo提权;

二、什么叫做权限

1.权限认证的是身份 (权限和"人"有关)

角色、权限:

拥有者u、所属组g、其他人o

角色和身份的关系:

2.权限也和事物的 "属性" 有关

文件属性:可读,可写,可执行

查看文件详细信息:


文件属性中的各个位置的含义:


r:可读

w:可写

x:可执行

-:对应位置权限,没有权限
三三为一组,在进行认证的时候,只能选择一个角色进行认证。先识别拥有者再识别所属组

三、没有权限的会出现什么现象

三、修改权限

所需指令:chmod 【身份(+、-)权限】 【文件】



chmod 【a-/+(权限)】 【文件】:把所有身份的有个权限去掉


通过二进制序列转换对权限进行加减

例如:

111--》表示读、写、执行都有权限(rwx);

而111的是7

100--》表示读有权限、写和执行没有(r--);

而100是5

所以我们可以用比特位的方式来和你是否有对应权限一一对应,再通过转换来的八进制来分别表示u、g、o


修改文件所属组、拥有者

所需指令:chown 【身份+/-权限】 【文件】

同时改拥有者和所属组:

所需指令:chown 【身份:身份】 【文件】

其他问题

1.为什么我们创建文件的默认权限: 为什么普通文件:664??为什么目录文件: 775??

预备:

1.默认给普通文件的起始权限其实是666

2.默认给目录文件的起始权限其实是777

Linux中存在权限掩码:凡是在umask中出现的权限,不会在最终的文件权限中出现


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

可以用umask来限定默认权限;

所以默认给普通文件的起始权限其实是666,默认给目录文件的起始权限其实是777;但是由于umask的存在,使得默认权限改变

2.如果把文件的某个权限去掉了会有什么影响?

去掉读(r)权限

不影响进入目录,但是不能ls查看文件的详细信息


去掉读写(w)权限

不影响进入目录,但是不能进行创建、更改和删除


去掉读执行(x)权限

无法进入目录,但能看到文件

3.补充:粘滞位

粘滞位:给目录设置,一般是共享目录,大家可以进行在目录进行各自文件的增制改查,只允许文件拥有者或着r能删这个文件,其他人一概不允许,t是一种特殊的X权限

相关推荐
Lethehong7 分钟前
在 CentOS 7 上搭建 OpenTenBase 集群:从源码到生产环境的全流程指南
linux·运维·centos·tdsql·opentenbase·腾讯云数据库
Hard but lovely13 分钟前
vim的使用
linux·编辑器·vim
yuxb7318 分钟前
集群与负载均衡:HAProxy 与 Nginx 实践
运维·nginx·负载均衡
知白守黑2671 小时前
KVM虚拟化
linux·运维·架构·centos
G_H_S_3_2 小时前
【网络运维】Linux 文本搜索利器: grep命令
linux·运维·网络·操作文本
程序员 _孜然11 小时前
Ubuntu/Debian修改网卡名字enP3p49s0为eth0
linux·运维·驱动开发·嵌入式硬件·ubuntu·debian
IDIOT___IDIOT11 小时前
Linux mount 命令
linux·运维·服务器
暗流者12 小时前
AAA 服务器与 RADIUS 协议笔记
运维·服务器·笔记
锐策12 小时前
Git checkout 与 Git reset 核心区别解析(分支与版本关联逻辑)
运维·git
CTRA王大大13 小时前
【golang】制作linux环境+golang的Dockerfile | 如何下载golang镜像源
linux·开发语言·docker·golang