一、什么是权限
权限是操作系统用来限制资源访问的机制,权限一般分为读、写、执行。系统中每个文件都拥有特定的权限、所属用户及所属组,通过这样的机制来限制哪些用户、哪些组可以对特定的文件进行什么样的操作。每个进程都是以某个用户的身份运行,所以进程的权限与该用户的权限一样,用户的权限越大,该进程所拥有的权限也就越大。
二、目录权限与文件权限
1.用户的分类
在linux下针对文件权限分为了三类用户分别为:
文件所有者 | 文件属于谁 |
文件所属组 | 文件属于哪个用户组 |
其他用户 | 除上方两类之外的用户 |
2.目录权限
r(可读权限) | 用户是否能浏览目录 |
w(可写权限) | 用户是否能够创建或删减目录 |
x(可执行权限) | 用户是否可以进入目录 |
3.文件权限
r(可读权限) | 用户是否能够读取内容 |
w(可写权限) | 用户是否能够修改内容 |
x(可执行权限) | 用户是否能够执行这个文件 |
我们可以通过命令ls -l来查看目录下文件的权限,如下图:
在图片的第一列就列出了文件的权限,权限按照文件所有者、文件所属组和其他用户依次排列。例如第一行,文件所有者拥有读、写、执行权限,文件所属组拥有读和执行的权限,最后其他用户拥有执行的权限。
当然一般我们在linux下都是默认的是普通用户,我们可以通过su root命令来进入超级用户。
4.文件创建掩码
在linux中我们可以使用umask来查看当前文件默认的创建掩码,这边我们要知道的是文件的满权限为777-掩码从而得到最终的文件权限,而在文件创建的时候不允许可执行,因此umask的值为022-755。
5.修改文件权限
我们可以使用chmod来修改文件的权限,格式如下: chmod a(所有用户)/u(所属用户)/g(所属组)/o(其他) +/- r/w/x。
6.进入目录需要哪些权限, 在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限?
通过进入超级用户修改过权限后,我们分别实验可以得到如下的结论:
cd | 所需权限x |
touch | 所需权限wx |
ls | 所需权限rx |
rm | 所需权限wx |
mv | 所需权限wx |