感谢Linuxcast,感谢苏勇(nash_su)老师!
权限
- 权限是操作系统用来限制对资源访问的机制,权限一般分为读、写、执行。系统中每个文件都有特定的权限、所属用户及所属组,通过什么样的机制来限制哪些用户、哪些组可以对特定文件进行什么样的操作。
- 每个进程都是以某个用户的身份运行,所以进程的权限与该用户的权限一样,用户的权限越大,该进程拥有的权限越大。
文件权限
Linux中,每个文件拥有三种权限:
目录必须拥有x权限,否则无法查看其内容。
UGO
Linux权限基于UGO模型进行控制:
- U代表user,G代表group,O代表other
- 每一个文件的权限基于UGO进行设置
- 权限三个一组(rwx),对应UGO分别设置
- 每一个文件拥有一个所属用户和所属组,对应UG,不属于该文件所属用户或所属组的使用O权限
命令ls -l
可以查看当前目录下文件的详细信息:
drwxr-xr-- aaa bbb 200 Oct 1 13:50 test
详细的解释如下:
上图中的“d
”代表文件类型是文件夹。
其他的常见的还有:
“-
”代表是一个二进制文件,
“l
”代表是一个链接。
修改文件所属用户、组
- 命令chown用以改变文件的所属用户:
例如:chown veeja testfile
-R
参数递归的修改目录下所有文件的所属用户 - 命令chgrp用以改变文件所属的组:
- 例如:
chgrp veeja testfile
-R
参数递归的修改目录下所有文件的所属用户
示例:
chmod 修改权限
命令名称:chmod
英文原意:change the permissions mode of a file
命令所在路径:/bin/chmod
执行权限:所有用户
功能:用以修改文件或目录的权限
语法:chmod 模式 文件
-R
参数递归的修改目录下所有文件的权限。
模式格式如下:
- u、g、o分别代表用户、组和其他
- a 可以代指u、g、o
- “+”、“-”代表加入或者删除某种权限
- r、w、x代表三种权限
示例:
chmod u+rw testfile
:对于testfile文件给u用户添加rw权限。chmod g-x testfile
:对于testfile文件给g用户删除x权限。chmod go+r testfile
:对于testfile文件给g和o用户添加r权限。chmod a-x testfile
:对于testfile文件给所有用户删除x权限。
用 数值 代表权限
- 命令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 testfile
==rw-rw----
chmod 775 testfile
==rwxrwxr-x
That’s all.
环境:
软件版本:VirtualBox 4.3.12 r93733
Linux系统版本:CentOS 7 ×86_64 1511
如有纰漏,望不吝指出,不胜感激。