本文主要描述了权限的基础知识与基本的命令,并且用代码进行演示,方便读者自己查阅。主要介绍chmod、shown、chgrp、umask等命令
1. 权限
权限是操作系统用来限制资源访问的机制,权限一般分为读、写、执行。系统中每个文件都拥有特定的权限、所属用户及所属组,通过这样的机制来限制哪些用户、哪些组可以对特定的文件进行什么样的操作。每个进程都是以某个用户的身份运行,所以进程的权限与该用户的权限一样,用户的权限越大,该进程所拥有的权限也就越大。
2. 文件权限
权限 | 对文件的影响 | 对目录的影响 |
r(读取) | 可读取文件内容 | 可列出目录内容 |
w(写入) | 可以修改文件内容 | 可在目录创建、删除文件 |
x(执行) | 可以作为命令执行 | 可访问目录内容 |
3. 命令详解
3.1. chmod命令
命令名称:chmod
命令英文原意:change the permissions mode of a file
执行权限:所有用户
语法:chmod [{ugoa} {+-=} {rwx}] [文件或目录]
[mode=421] [文件或目录]
-R 递归修改(如果全部修改)
代码演示:
chmod g=w test1/ //更改test1文件夹权限,对当前文件的用户组设为可写权限
chmod 777 test2/ //更改test2文件夹权限,对当前的所有用户(root、用户组、其他用户)可读可写可执行权限
演示结果:
3.2. chown
命令名称:chown
命令英文原意:change file ownership
执行权限:root
语法:chown [用户] [文件或目录]
功能描述:改变文件或者目录的所有者
代码演示:
chown wxt test3/ //对文件夹的拥有者修改为wxt用户
演示结果:
3.3. chgrp
命令名称:chgrp
命令英文原意:change file group ownership
执行权限:root
语法:chown [用户] [文件或目录]
功能描述:改变文件或者目录的所有者
3.4. umask
当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认 权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。一般在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中设置umask值。
命令名称:umask
命令英文原意:the user file-creation mask
命令所在路径:Shell内置命令
执行权限:所有用户
语法:umask [-S]
功能描述:改变文件或者目录的所有者