Linux基本权限UGO
Linux通过user、group、other把用户分为基础的三类,可以对三类分别设置三种基本权限read、write、excute。
1、基本介绍
九位基本权限分别按照user、group、other的顺序,如上图,d表示文件是个目录文件,owner权限为rwx,group的权限为r-x,非上两种就是other用户权限为r-x。
2、权限判定流程
对文件操作的权限是基于process的用户表示的,比如用户linuxidc在没特殊情况下,他发起的进程就表示为linuxidc的UID,然后文件操作基于process的信息与UGO的权限列表比对,判定用户拥有的权限。
3、更改权限
用户9位权限可以用rwx关键字描述也可以用数字的方式描述
如图,在一位上拥有权限就为1(Ture),无权限就为0,按照3个分组讲二进制转换过来就是755。
使用chmod修改文件权限,可以使用数字或者描述的方式:
chmod MODE file,... (eg: MODE=755)
-R 递归
--reference=/path/to/somefile file
修改某类用户或某些类用户权限
u,g,o,a
chmod 用户类别=MODE file,...
修改某类用户的某位或某些位权限:
u,g,o,a
chmod 用户类别+|-MODE file,...
-x 三个用户全部取消x权限
go= 属组和其他用户权限全部取消
chmod 数字权限 file
Example:修改/tmp/links.sh权限为rwxr-xr--
root@linuxidc:
/tmp
# chmod u=rwx,g=rx,o=r links.sh
root@linuxidc:
/tmp
# ls -l links.sh
-rwxr-xr-- 1 root root 1539 Jun 2 04:32 links.sh
把权限去掉再用数字方式
root@linuxidc:
/tmp
# chmod a= links.sh
root@linuxidc:
/tmp
# ls -l links.sh
---------- 1 root root 1539 Jun 2 04:32 links.sh
root@linuxidc:
/tmp
# chmod 755 links.sh
root@linuxidc:
/tmp
# stat -c %a links.sh
755
root@linuxidc:
/tmp
# stat -c %a links.sh
-rwxr-xr-x
4、umask
用于创建用户时的默认权限,umask是去掉的部分,umask可以用数字或者描述指定。
数字法:
目录
U | G | O | |
777 | 111 | 111 | 111 |
umask022 | 000 | 010 | 010 |
目录权限 | 111 | 101 | 101 |
所以目录的权限就为755
文件
U | G | O | |
666 | 110 | 110 | 110 |
umask022 | 000 | 010 | 010 |
文件的权限 | 110 | 100 | 100 |
所以文件的权限的644
处于安全考虑,文件默认是排除可以执行权限的,所以文件值为666减去umask。
5、文件和目录各种权限的作用和意义
目录
r | 只能读取文件列表 |
w | 没有任何作用 |
x | 可以进入目录 |
rw | 可以读文件列表,依旧无法删除文件 |
rx | 读取文件列表,可以cd进mul,但是无法删除目录下的文件,对文件有w权限可以清空或者写入 |
wx | 可以增加和删除目录中文件,可以cd进目录,但是无法查看目录有哪些内容,知道文件名可以打开文件 |
rwx | 可以进入目录,显示目录中内容,可以增删目录中文件 |
文件夹权限特表现殊源于文件系统结构中,目录文件中存放的是文件名和文件索引值
文件
r | 读取文件内容 |
w | 写入 |
x | 执行,单独的执行权限只能运行二进制可执行文件 |
rw | 可读可写 |
rx | 可以执行二进制之外的编译类或者脚本类的文件 |
wx | 可以修改内容,无法查看,可以执行二进制可执行文件 |
rwx | 可以查看文件内容,可以增删文件内容,可以执行可执行文件 |