Linux文件权限、用户及组权限
前言
这几年一直在it行业里摸爬滚打,一路走来,不少总结了一些python行业里的高频面试,看到大部分初入行的新鲜血液,还在为各样的面试题答案或收录有各种困难问题
权限
设置好了用户和组,那么接下来就可以对其进行权限控制
由于linux下处处皆文件,所谓权限也就是对文件的读、写、执行,至少这三种
当操作系统下某个进程在运行时,进程的权限,也相当于这个进程的运行用户身份权限
-
权限分组
默认的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