前言
这几年一直在it行业里摸爬滚打,一路走来,不少总结了一些python行业里的高频面试,看到大部分初入行的新鲜血液,还在为各样的面试题答案或收录有各种困难问题
于是乎,我自己开发了一款面试宝典,希望能帮到大家,也希望有更多的Python新人真正加入从事到这个行业里,让python火不只是停留在广告上。
微信小程序搜索:Python面试宝典
或可关注原创个人博客:https://lienze.tech
也可关注微信公众号,不定时发送各类有趣猎奇的技术文章:Python编程学习
权限
设置好了用户和组,那么接下来就可以对其进行权限控制
由于linux下处处皆文件,所谓权限也就是对文件的读、写、执行,至少这三种
当操作系统下某个进程在运行时,进程的权限,也相当于这个进程的运行用户身份权限
权限 | 文件 | 目录 |
---|---|---|
r | 读取文件 | 列出目录 |
w | 修改文件 | 修改目录内文件 |
x | 执行文件 | 进入目录 |
- 权限分组
默认的linux的权限分为三种角色
user
、group
、other
每个文件将基于UGO三种权限进行设置,一般一个文件创建之后,谁创建该文件,默认成为该文件的所有者
用户及组权限
ls -ahl
# 查看文件所有者
chmod g+rwx file
# 给file文件增加rwx权限
chmod g-x file
# 给file文件减少x权限
用户及组修改
修改某个文件或目录所属用户或组
chown -R root file
# 修改file文件所属用户为root
chown -R :root file
# 修改file文件所属用户为root
chgrp -R root file
# 修改file文件所属组为root
二进制权限
linux下具备权限设置为1,反之为0,那么一个权限按照二进制位数来计算,如下所示
--x: 001 1
-wx: 011 3
rwx: 111 7
很清晰,对应的权限位置所代表的数字分别是:r=4,w=2,x=1
chmod 775 file
# 修改file文件权限为 rwxrwxr-x
权限掩码
神奇的事情需要我们考虑,每次创建文件,默认都会具备一定的权限,而这个权限是如何分配而来的呢?
是通过一个叫做权限掩码的东西来维护的,这个码可以通过umask命令看到
默认系统的掩码是022**
- 文件权限由默认权限减去掩码
文件默认权限:666
那么创建一个文件真实的权限是:666-022=644
目录的默认权限:777
一个目录的真实权限是:777-022=755
- 设置默认掩码
umask -S 011
特殊权限
权限 | 对文件的影响 | 对目录的影响 |
---|---|---|
suid | 以文件的所属用户身份执行,而非执行文件的用户 | 无 |
sgid | 以文件所属组身份去执行 | 在该目录中创建任意新文件的所属组与该目录的所属组相同 |
sticky | 无 | 对目录拥有写入权限的用户仅可以删除其拥有的文件,无法删除其他用户所拥有的文件 |