2014年9月26日

Linux权限机制:UGO

权限
权限是操作系统用来限制对资源访问的机制,权限一般分为读、写、执行。系统中每个文件都拥有特定的权限、所属用户及所属组,通过这样的机制来限制哪些用户、哪些组可以对特定文件进行什么样的操作。

每个进程都是以某个用户的身份运行,所以进程的权限与该用户的权限一样,用户的权限大,该进程拥有的权限就大

文件权限
Linux中,每个文件都拥三种权限:
权限对文件的影响对目录的影响r(读取)可读取文件内容可列出目录内容w(写入)可以修改文件内容可在目录中创建删除文件x(执行)可以作为命令执行可访问目录内容
注:目录必须拥有x权限,否则无法查看其内容

UGO
Linux权限基于UGO模型进行控制
U代表User,G代表Group,O代表Other
每一个文件的权限基于UGO进行设置
权限三个一组(rwx),对应UGO分别设置
每一个文件拥有一个所属用户和所属组,对应UG,不属于该文件所属用户或所属组的使用O权限

命令ls -l可以查看当前目录下文件的详细信息:

drwxr-xr– 2 nash_su training 208 Oct 1 13:50 linuxcast.net

UGO

修改文件所属用户、组
命令chown用以改变文件的所属用户
chown nash_su linuxcast.net
-R 参数递归的修改目录下的所有文件的所属用户

命令chgrp用以改变文件的所属组:
chgrp nash_su linuxcast.net
-R 参数递归的修改目录下的所有文件的所属组

修改权限(1)
命令chmod用以修改文件的权限
chmod 模式 文件

模式为如下格式
u、g、o分别代表用户、组和其他
a可以代指ugo
+、-代表加入或删除对应权限
r、w、x代表三种权限

模式示例
chmod o+rw linuxcast.net
chmod g-x linuxcast.net
chmod go+r linuxcast.net
chmod a-x linuxcast.net

修改权限(2)
命令chmod也支持以数字方式修改权限,三个权限分别由三个数字表示
-r = 4(2^2)
-w =2 (2^1)
-x =1(2^0)

使用数字表示权限时,每组权限分别为对应数字之和:
rw=4+2 =6
rwx=4+2+1 =7
r-x =4+1 =5

所以,使用数字表示ugo权限使用如下方式表示
chmod 660 linuxcast == rw-rw—-
chmod 775 linuxcast ==rwxrwxr-x