【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权限

相关推荐
段帅龙呀1 小时前
Redis构建缓存服务器
服务器·redis·缓存
乌鸦不像写字台1 小时前
【docker部署】在服务器上使用docker
服务器·docker·容器
牧以南歌〆3 小时前
在Ubuntu主机中修改ARM Linux开发板的根文件系统
linux·arm开发·驱动开发·ubuntu
互联网搬砖老肖3 小时前
运维打铁: MongoDB 数据库集群搭建与管理
运维·数据库·mongodb
Antonio9154 小时前
【音视频】HLS简介与服务器搭建
运维·服务器·音视频
夜月yeyue4 小时前
设计模式分析
linux·c++·stm32·单片机·嵌入式硬件
kfepiza4 小时前
Debian的`/etc/network/interfaces`的`allow-hotplug`和`auto`对比讲解 笔记250704
linux·服务器·网络·笔记·debian
无妄-20244 小时前
软件架构升级中的“隐形地雷”:版本选型与依赖链风险
java·服务器·网络·经验分享
艾伦_耶格宇5 小时前
【docker】-1 docker简介
运维·docker·容器
R.X. NLOS5 小时前
VS Code远程开发新方案:使用SFTP扩展解决Remote-SSH连接不稳定问题
运维·服务器·ssh·debug·vs code